Как создать инсталляторов с 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?
Ответы
Ответ 1
Я бы использовал IzPack maven plugin, если вам нужен полнофункциональный установщик, или appassembler-maven-plugin, если вам просто нужно создать демоны для java-сервисов.
Есть также плагины для 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>
Ответ 2
Вы можете использовать IzPack и плагин IzPack maven для этой цели. Это хорошо работает для меня:
http://izpack.codehaus.org/izpack-maven-plugin/
Ответ 3
Я не уверен, правильно ли я прав. Вы когда-нибудь пробовали сборку maven?
http://maven.apache.org/plugins/maven-assembly-plugin/
Это была моя первая идея для вашего вопроса.
Ответ 4
Там есть плагины, которые будут делать то, что вам нужно.
. deb
. rpm
nullsoft
Ответ 5
Я ищу Installjammer - я не вижу для него плагин maven, но по сравнению с izPack он выглядит намного более профессиональным.
Ответ 6
BitRock InstallBuilder можно использовать с Maven (и другими инструментами сборки CI) для создания инсталляторов Windows exe, двоичных файлов Linux/RPM/DEB и ОС X. Он коммерческий, но у нас есть скидки для небольших компаний/сольных разработчиков и бесплатные лицензии на проекты с открытым исходным кодом (отказ от ответственности, я являюсь автором InstallBuilder)