如何使用Maven创建安装程序

我正在将一个中型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    

您可以使用IzPack和IzPack maven插件来实现此目的。 它对我很有用: http : //izpack.codehaus.org/izpack-maven-plugin/

我不确定我的问题是否正确。 你有没有尝试过maven组装?

http://maven.apache.org/plugins/maven-assembly-plugin/

这是我对你的问题的第一个想法。

有一些插件会做你想要的一些。

.deb文件

的.rpm

Nullsoft的

我正在研究Installjammer – 我没有看到它的maven插件,但与izPack相比,它看起来更专业。

BitRock InstallBuilder可以与Maven(以及其他CI构建工具)一起使用,以生成Windows exe安装程序,Linux二进制文件/ RPM / DEB和OS X安装程序。 它是商业的,但我们有小公司/独立开发者的折扣和开源项目的免费许可(免责声明,我是InstallBuilder的作者)