我正在将一个中型Java应用程序的构建从Ant迁移到Maven.我可以轻松地迁移基本构建内容,但我还想从Maven构建中创建安装程序包.最简单的方法是通过Ant插件调用原始的Ant脚本,但我想也许我应该首先考虑一下Maven的支持.
我需要为不同的平台创建几个不同的安装程序:
Windows 32/64位
Linux 32/64位
MacOS 32/64位
对于Linux现在我认为我们只有一个tar.gz和一些Bash脚本来启动守护进程 - Debian/RPM包会更好,可能还有依赖包定义.对于Windows安装程序,我们使用NullSoft安装程序.我不知道MacOS捆绑包现在是如何组装的.
是否有任何工具可以从Maven那里(或至少部分)做到这一点?
如果你需要一个完整的安装程序,我会使用IzPack maven插件,如果你只需要为java服务生成守护进程,我会使用appassembler-maven-plugin.
还有用于NSIS,Debian和RPM打包的插件,但使用这些方法你必须维护每个平台的配置,另一方面,IzPack允许你为Windows XP/Vista/2003/2000,Mac OS X生成安装程序,Solaris,Linux和*BSD.
appassembler插件提供了为每个平台生成JSW守护进程的目标.这是一个示例配置:
org.codehaus.mojo appassembler-maven-plugin 1.0 generate-jsw-scripts package generate-daemons myApp name.seller.rich.MainClass start jsw ${project.build.directory}/appassembler