我正在将中型Java应用程序的构建从Ant迁移到Maven。我可以轻松迁移基本的构建内容,但是我也想从Maven构建中创建安装程序包。最简单的方法是通过Ant插件调用原始的Ant脚本,但我想也许我应该先看看Maven的支持。
我需要为不同的平台创建几个不同的安装程序:
现在对于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守护程序的目标。这是一个示例配置:
<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>
我设法创建了一个. exe安装程序的窗口使用电子建设者,我创建2package.json指出的文档: https://github.com/electron-userland/electron-builder. mymainpackage.json的build部分是 一切工作正常,我有和.exe安装程序,但没有办法有一个.msi安装程序,把内容在程序文件目录。 相反,我最终在C:\用户\用户之家\
Java运行时环境(OpenJDK 1.7 JRE) 脚本(.bat) 一个胖罐子 图标文件 一些文本文件 我不想使用系统的JRE,这就是我提供另一个JRE的原因。该脚本只使用几个参数调用JRE。图标文件为.ico格式。fat JAR是包含所有必需的Java类、本机库和资产(包括第三方库)的JAR。 我想允许最终用户安装、运行和卸载我的程序。我想在“开始”菜单中提供一个快捷方式来运行它,另一个快捷
我使用jpack打包了我的java应用程序。当我使用打包的安装程序安装它时,安装后的目录始终是
以前我使用Izpack安装我的Java应用程序,当用户想要安装新版本时,他们只需重新安装到相同的位置(c“/Program files/jthink/jaikoz”),这将用较新的文件替换较旧的文件,用户不需要先卸载旧版本。 我现在已经为应用程序的最新版本构建了一个使用JPackage(现在是Java,JDK14的一部分)的安装程序,这将继续安装到相同的位置。问题是因为JPackage强制了一个新
想改进这个问题吗?更新问题,使其仅通过编辑这篇文章来关注一个问题。 我正在开发一个javafx应用程序。此应用程序与设备通信,因此设备JAR不是模块化的,它们附带一些添加到开发中的dll文件。现在,它在Netbeans 12.6上运行得很好,但在我使用jdk-17 jpackage创建安装程序时就不是了。我相信我遗漏了一些东西,但由于我对这个jpackage还很陌生,所以我不知道如何解决它。以下是
我想使用maven创建一个多层java项目,如下所示: presentationlayer-guiModule(JSP/JSF页面的最顶层) PresentationLayer-GatewayModule(web服务的最顶层) BusinessLayer-ServiceModule(中间层) DataAccessLayer(最下层) 通用层(可从所有层访问的垂直层) 根pom 耳POM Guimo