使用特定JRE运行JAR文件

时间:2012-05-25 16:08:11

标签: windows batch-file jar java

Windows上是否有办法使用位于特定文件夹中的JRE运行JAR文件?类似于Eclipse在某些路径中查找其JRE的方式。某些Windows可执行代码(C或C ++)或批处理文件都可以完成这项工作。谢谢!

5 个答案:

答案 0 :(得分:46)

JRE目录有一个bin / java.exe。

您只需使用

即可从该JRE运行jar
<path_to_jre>/bin/java.exe -jar Executable.jar

如果您不想每次都打开控制台,只需将上面的行放在.bat文件中,然后双击它即可。

答案 1 :(得分:1)

在与jarfile相同的文件夹中创建此批处理文件:

@echo off
set path=C:\Program Files (x86)\java\bin\;%path%
java -version
javaw -jar jaryouwanttorun.jar
pause
exit

答案 2 :(得分:1)

从命令运行

<path_to_jre>/bin/java.exe -jar Executable.jar

(或在JAR启动后立即使用javaw.exe返回命令提示符)

或设置环境变量

许多启动脚本分别针对JRE和JDK尊重变量JRE_HOMEJAVA_HOME。有些人不喜欢空格,因此请使用短路径约定(C:\Progra~1\Java\jre1.8.0_171

在64位系统上:
Progra~1 = Program Files
Progra~2 = Program Files (x86)

或设置文件关联

通过双击启动JAR。不幸的是,GUI(控制面板\所有控制面板项目\默认程序\设置关联)非常糟糕,因此您必须在注册表中进行操作。

当控制面板设置被忽略时,这是我最喜欢的选择32/64位JRE的方法。

  1. 检查HKEY_CLASSES_ROOT\.jar中的默认值为jarfile
  2. 检查HKEY_CLASSES_ROOT\jarfile\shell\open\command中的默认值是否指向您的JRE。

对于我的64位环境:

"C:\Program Files\Java\jre1.8.0_171\bin\javaw.exe" -jar "%1" %*

请注意引号:javaw路径包含空格; JAR路径可以包含空格;传递的参数以空格分隔。

答案 3 :(得分:0)

您可以更改JAVA_HOME的Windows环境变量(请参阅here)。将它指向您希望它运行的JRE。我确信没有编程方式(因为正确的JRE是在运行时加载的)。

答案 4 :(得分:0)

PowerShell语法如下

& 'C:\Program Files\Java\jdk1.7.0_80\bin\java.exe' -jar .\Executable.jar -Xmx256m

使用系统中安装的特定java.exe的路径。