便携式JVM与jar

时间:2011-07-24 06:36:29

标签: jvm portability java

是否可以使用jar文件打包JVM或JRE,以便假设用户安装或未安装Java,它将始终使用打包的JVM。我的猜测是,它需要某种c / c ++程序,它会夺走java的多平台方面。只要平台是Windows,这很好。此外,最好是用户没有得到安装JVM的提示,程序只是启动它然后应用程序没有提示用户安装任何东西。

3 个答案:

答案 0 :(得分:2)

  

这很好,只要该平台是Windows。

如果您只想支持Windows,那么Java的吸引力是什么(例如.Net)?

  

最好是用户没有得到安装JVM的提示,..

不是根据这个用户。有没有听说过UAC?如果我完全启用UAC未能抓住并提示我,我将向MS提出错误报告。


Oracle提供deployJava.js以确保在运行applet或为个应用程序提供启动按钮之前安装了合适的最低版本的JRE。您可以调整第二个函数以直接链接到可执行的Jar。

答案 1 :(得分:2)

我有两种不同的方法:

  1. 使用(商业)安装程序,例如InstallShild
  2. 创建一个包含JAR和JRE的(可执行)ZIP。您可以在用户解压缩ZIP文件后定义要执行的命令。无需在操作系统中安装JRE,您的启动脚本(.bat等)必须直接指向您提供的JRE。在JRE目录中,您可以找到一个文件,描述如何将JRE与应用程序捆绑在一起。顺便说一句:您可能最终会在每个环境(例如32位,64位)
  3. 中使用不同的部署单元

答案 2 :(得分:2)

在打包JRE时加起来@home答案:

  1. 压缩操作系统的jre目录(例如,对于Windows:C:\Program Files\Java\jre7
  2. 将其解压缩到目标计算机上的某个位置(例如D:\MyProgram\jre7
  3. 可能会修改PATH环境变量(例如set PATH=%PATH%;D:\MyProgram\jre7\bin
  4. 如果您不允许修改PATH,则可以在启动脚本中明确指定D:\MyProgram\jre7\bin\java.exe -jar MyProgram.jar