带jar的可移植JVM

带jar的可移植JVM,jvm,portability,java,java-web-start,Jvm,Portability,Java,Java Web Start,是否可以用jar文件打包JVM或JRE,以便假设用户安装或未安装Java,它将始终使用打包的JVM。我的猜测是,它需要某种c/c++程序,这将消除java的多平台特性。这很好,只要平台是Windows。另外,如果用户没有得到安装JVM的提示,程序只是启动JVM,然后应用程序,而没有提示用户安装任何东西,这将是最好的 这很好,只要平台是Windows 如果您只想支持Windows,那么Java(例如,.Net)的吸引力是什么 另外,如果用户没有得到安装JVM的提示,那么这将是最好的 根据这个用户的

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

这很好,只要平台是Windows

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

另外,如果用户没有得到安装JVM的提示,那么这将是最好的

根据这个用户的说法不是这样的。听说过UAC吗?如果我完全启用的UAC未能捕捉到并提示我,我将向MS提出错误报告



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

我知道两种不同的方法:

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

  • 要在打包JRE时添加@home answer,请执行以下操作:

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