首先,大多数打包解决方案都可以选择将 JRE 打包到安装程序中。因此,可执行文件,无论是 exe、bin 还是 rpm,都将附带适当的 JRE。这是更好的方法,因为如果您假设 JRE 在目标系统上可用,例如:权限、JRE 安装位置、JRE 版本等,它可以最大限度地减少您可能遇到的意外问题的数量。
可执行文件将解压它附带的 JRE 并启动 java 应用程序(您的安装程序)。
有许多免费/开源和商业的多平台打包解决方案。
最受欢迎的广告是Flexera 的InstallAnywhere。它带有方便的 IDE、基于 XML 的 bean 配置(在基于 UI 的安装过程中将 bean 视为一个步骤或屏幕)以及您可能希望在安装期间执行的许多自定义检查。您可以使用响应文件创建静默安装,以将您的安装发送到企业内的许多机器上。您还可以为您的安装创建将执行自定义逻辑的自定义 bean。
Install4J也是商业解决方案——我没有尝试过,因为它不支持我需要的所有平台。
另一个商业安装向导是Denova的 JExpress。它也是完全可定制的,并且具有与 InstallAnywhere 相同的平台支持覆盖范围,它具有全套功能,但自定义安装的开发不太方便,并且与 Windows 操作系统的集成较少(在我玩它的时候,我无法执行注册表检查并根据结果执行操作 A 或操作 B)。
我尝试过的开源打包向导是lzpack,它既好又灵活,但缺乏好的文档会影响你完成工作的时间。
InstallJammer是另一个开源软件,但它并不支持所有平台——仅支持基本的 windows 和 linux 平台,但我认为这个项目已经停止。
祝你好运!