35

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

4

5 回答 5

69

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

您可以简单地从该 JRE 运行一个 jar

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

如果您不想每次都打开控制台,只需将上述行放入 .bat 文件并双击它即可。

于 2012-05-25T16:10:57.537 回答
8

从命令运行

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

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

或者设置环境变量

许多启动脚本分别尊重变量JRE_HOMEJAVA_HOMEJRE 和 JDK。有些人不喜欢空格,所以使用短路径约定 ( 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 路径可以包含空格;传递的参数以空格分隔。

于 2018-07-31T14:36:52.143 回答
5

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

@echo off
set path=C:\Program Files (x86)\java\bin\;%path%
java -version
javaw -jar jaryouwanttorun.jar
pause
exit
于 2017-02-26T21:49:38.190 回答
2

PowerShell语法如下

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

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

于 2018-05-10T07:13:43.927 回答
0

您可以更改 JAVA_HOME 的 Windows 环境变量(请参阅此处)。将它指向您希望它运行的 JRE。我确定没有编程方式来做到这一点(因为在运行时加载了正确的 JRE)。

于 2012-05-25T16:09:58.053 回答