Windows上是否有办法使用位于特定文件夹中的JRE运行JAR文件?类似于Eclipse在某些路径中查找其JRE的方式。某些Windows可执行代码(C或C ++)或批处理文件都可以完成这项工作。谢谢!
答案 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_HOME
和JAVA_HOME
。有些人不喜欢空格,因此请使用短路径约定(C:\Progra~1\Java\jre1.8.0_171
)
在64位系统上:
Progra~1
= Program Files
Progra~2
= Program Files (x86)
通过双击启动JAR。不幸的是,GUI(控制面板\所有控制面板项目\默认程序\设置关联)非常糟糕,因此您必须在注册表中进行操作。
当控制面板设置被忽略时,这是我最喜欢的选择32/64位JRE的方法。
HKEY_CLASSES_ROOT\.jar
中的默认值为jarfile
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的路径。