当前位置: 首页 > 面试题库 >

如何使用特定的JRE交付Java应用程序?

程昕
2023-03-14
问题内容

有人知道如何将特定的JRE与已编译的Java应用程序打包在一起吗?我目前有一个可执行的jar文件,并希望将JRE 6 Update
31放入其中。因此,无论客户端安装了哪个JRE版本,应用程序都使用附带的JRE。该解决方案应独立于平台工作。

有任何想法吗?提前谢谢了!


问题答案:

在OSX上,他们正在从提供Java的Apple转移到提供Java的Oracle,这也意味着Java将不会在全新安装的OSX上安装。Oracle提供了打包Java安装的工具,并且
强烈
建议在安装过程中提供一个jre。这样做的好处是,客户不必安装其他软件包即可运行您的应用程序,并且可以为您针对正确的Java运行时测试应用程序,并确保在发货前不存在任何不兼容性。缺点是构建安装程序要稍微复杂一点,而您的下载大小也会更大。

当然,如果要为Windows,Linux
ectera提供应用程序,则建筑安装程序会变得更加复杂,仅提供可执行jar会容易得多,但这不是客户想要的体验。客户不希望能够下载一个应用程序并在Windows,OSX和Linux上运行相同的exe。他们很高兴
为每个平台安装不同的安装程序,并希望安装程序以不同的方式工作。

这是我的方法:

OSX:将AppBundler与捆绑的jre一起使用,并通过DMGCanvas放入Dmg中。用户只需将应用程序拖到他们的/
Application文件夹中即可。

Windows:使用Izpack和捆绑有launch4j的jre捆绑包,以便安装程序可以作为exe运行。

Linux:使用Izpack而不捆绑jre,因为Linux用户希望完全控制自己计算机上的内容,但要指定允许的最低Java版本。理想情况下,我应该为主要的Linux软件包管理器创建软件包,例如rpm,但是Ive认为目前不值得为此付出努力,因为Linux用户仅占我的客户群的一小部分。

大多数安装是使用Maven和Ant自动化的,因此构建这些不同的安装程序不是很大的努力。



 类似资料:
  • 在小程序中的java 7u25流媒体视频更新出现问题后,我想问一下,是否可以使用文件系统中的jre而不是浏览器插件,用户会将其一次性放到特定文件夹中,然后继续与小程序一起使用。现实吗?它会干扰浏览器的java插件吗?

  • 我想迁移到JavaFX11。我已经学习了OpenJFX的“JavaFX11入门”(https://openjfx.io/openjfx-docs/),使用OpenJDK 11.0.1和Gluon的JavaFX SDK 11.0.1(在Netbeans 10VC2上),并且已经能够使示例应用程序运行(在我看来,我应该能够很容易地将JavaFX8代码移植到JavaFX11)。 然而,这正是我无法找到方

  • 我用JDK 13制作了一个java应用程序。我用launch4j创建了一个exe文件。但是没有人可以运行它,因为每个人都有jre 1.8版本,而且它不会启动。。。我必须在安装中包含java jdk 13,并用它设置java_home?

  • 应用交付网络 传统计算机网络主要关注的是网络的互连互通,而应用则关注的是业务逻辑功能,如何将两者合在一起,让网络更好的支持应用,同时应用最优化的利用网络,这就是应用交付网络(Application Delivery Networking,ADN)。 应用交付网络围绕着应用和网络主要为企业解决一下几个问题: 安全 - 目前业界已经达成共识,网络安全对于网络应用的保障是至关重要的环 节。而在应用交付网

  • 问题内容: 我一直在使用Java Application Bundler 将Java应用程序打包为.app。如果将JRE7打包到.app捆绑包中,则可以成功运行该应用程序。是否可以将.app(在Info.plist中)配置为指向由JAVA_HOME环境变量定义的JRE?如果这样做,我将得到“无法加载Java Runtime Environment”!我试图以不同的方式配置JAVA_HOME,但是没

  • 我已经创建了一个java应用程序,并按照以下教程将其与一个jre捆绑并转换为。app包:https://www.jemchicomac.com/signing-a-sandbox-app-in-osx/http://speling.shemnon.com/blog/2014/04/10/getting-your-java-app-in-the-mac-app-store/ 我可以创建。应用程序包成