我正在将一个中型Java应用程序的构建从Ant迁移到Maven。我可以轻松地迁移基本构建内容,但我还想从Maven构建中创建安装程序包。最简单的方法是通过Ant插件调用原始的Ant脚本,但我想也许我应该首先考虑一下Maven的支持。
我需要为不同的平台创建几个不同的安装程序:
对于Linux现在我认为我们只有一个tar.gz和一些Bash脚本来启动守护进程 - Debian / RPM包会更好,可能还有依赖包定义。对于Windows安装程序,我们使用NullSoft安装程序。我不知道现在如何组装MacOS软件包。
Maven是否有任何工具(或至少部分工具)?
答案 0 :(得分:18)
如果你需要一个成熟的安装程序,我会使用IzPack maven plugin,如果你只需要为java服务生成守护进程,我会使用appassembler-maven-plugin。
还有NSIS,Debian和RPM打包的插件,但使用这些方法你必须维护每个平台的配置,另一方面,IzPack允许你生成适用于Windows XP / Vista / 2003/2000,Mac OS X,Solaris,Linux和* BSD的安装程序。
appassembler插件提供了为每个平台生成JSW守护进程的目标。以下是配置示例:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>appassembler-maven-plugin</artifactId>
<version>1.0</version>
<execution>
<id>generate-jsw-scripts</id>
<phase>package</phase>
<goals>
<goal>generate-daemons</goal>
</goals>
<configuration>
<daemons>
<daemon>
<id>myApp</id>
<mainClass>name.seller.rich.MainClass</mainClass>
<commandLineArguments>
<commandLineArgument>start</commandLineArgument>
</commandLineArguments>
<platforms>
<platform>jsw</platform>
</platforms>
</daemon>
</daemons>
<target>${project.build.directory}/appassembler</target>
</configuration>
</execution>
</plugin>
答案 1 :(得分:2)
您可以使用IzPack和IzPack maven插件来实现此目的。它对我很有用: http://izpack.codehaus.org/izpack-maven-plugin/
答案 2 :(得分:1)
答案 3 :(得分:1)
答案 4 :(得分:0)
我正在调查Installjammer - 我没有看到它的maven插件,但与izPack相比,它看起来更专业。
答案 5 :(得分:0)
BitRock InstallBuilder可与Maven(以及其他CI构建工具)一起使用,以生成Windows exe安装程序,Linux二进制文件/ RPM / DEB和OS X安装程序。它是商业的,但我们有小公司/独立开发者的折扣和开源项目的免费许可(免责声明,我是InstallBuilder的作者)