在Windows上是否有一种方法可以使用位于特定文件夹中的JRE运行JAR文件?类似于Eclipse在你指定的某些路径中查找其JRE的方式。可以使用Windows可执行代码(C或C++)或批处理文件完成该操作。谢谢!
在Windows上是否有一种方法可以使用位于特定文件夹中的JRE运行JAR文件?类似于Eclipse在你指定的某些路径中查找其JRE的方式。可以使用Windows可执行代码(C或C++)或批处理文件完成该操作。谢谢!
JRE目录下有一个bin/java.exe文件。
你可以简单地使用该JRE中的命令来运行一个jar包
<path_to_jre>/bin/java.exe -jar Executable.jar
如果您不想每次都打开控制台,只需将上述行放入一个 .bat 文件中,然后双击该文件即可。
javaw
变种。javaw 命令与 java 完全相同,只不过使用 javaw 时没有关联的控制台窗口。当您不希望出现命令提示窗口时,请使用 javaw。然而,如果由于某些原因启动失败,javaw 启动器将显示一个带有错误信息的对话框。 - Andrew Thompson<path_to_jre>/bin/java.exe -jar Executable.jar
(或使用 javaw.exe 在启动 JAR 后立即返回命令提示符)
许多启动脚本都支持变量 JRE_HOME
和 JAVA_HOME
,分别用于 JRE 和 JDK。有些不喜欢空格,因此要使用短路径约定 (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路径可以包含空格;传递的参数用空格分隔。
在与您的jar文件相同的文件夹中创建此批处理文件:
@echo off
set path=C:\Program Files (x86)\java\bin\;%path%
java -version
javaw -jar jaryouwanttorun.jar
pause
exit
PowerShell的语法如下:
& 'C:\Program Files\Java\jdk1.7.0_80\bin\java.exe' -jar .\Executable.jar -Xmx256m