我正在向客户发送可执行jar文件,客户已经在盒子上安装了JRE 5,JRE 6和JRE 7。我的Jar需要JRE 7才能运行。 在不更改系统PATH(Environment var)的情况下,如何指定要使用的JRE 7?
答案 0 :(得分:5)
您可以指定所需的JRE的完整路径,例如:
/path/to/jre/bin/java.exe -jar executable.jar
或
/path/to/jre/bin/javaw.exe -jar executable.jar
如果从shell(脚本)运行此操作,则最好先将JAVA_HOME
环境变量设置为(/path/to/jre
)之前的正确位置,然后再运行可执行文件。您可以先设置/导出JAVA_HOME
,然后将其扩展到Java可执行文件的位置(例如Windows上的%JAVA_HOME%\bin\java.exe
)。更多信息here。
答案 1 :(得分:2)
我不确定是否有跨平台的方法来实现这一目标。
在Windows上,您可以使用launch4j等工具将jar包装为可以选择适当JRE的.exe
。
在Mac OS X上,您可以并行安装多个不同的JDK,但只能安装一个公共JRE(至少是已安装的JDK中的最新版本,如果已经自动更新,可能会更新) 。它是用于应用程序包的公共JRE,当在finder中双击JAR时。
答案 2 :(得分:0)
执行此操作的最简单方法是使用Java WebStart启动程序,然后指定您需要适当的新版Java。然后,启动器将在您的系统上找到合适的分布以供使用。
使用javaws还可以轻松地向用户分发新的更新。
警告:多年来,缓存一直是个问题。确保当jar更改内容时,其URL也会更改。