gpt4 book ai didi

java - 通过上下文菜单启动 JAR 文件时“找不到应用程序”

转载 作者:行者123 更新时间:2023-11-30 08:18:39 25 4
gpt4 key购买 nike

我尝试通过右键单击文件夹并在上下文菜单中选择一个项目来运行 .jar 文件。当 HKEY_CLASSES_ROOT\Directory\shell\MyJar\command 中的(默认) 值为:

时,它会起作用。
"C:\Program Files (x86)\Java\jdk1.8.0_40\bin\java.exe" -jar "D:\path\to\MyJar.jar"

但是使用以下值时,我会收到一个弹出窗口,显示“找不到应用程序”:

java -jar "D:\path\to\MyJar.jar"

如果我将其输入到命令提示符中,这两行代码都可以正常工作,因此我认为问题与注册表有关,而不是“看到”classpath 路径。

下面分别是我的系统变量JAVA_HOME和系统变量Path的开头:

C:\Program Files (x86)\Java\jdk1.8.0_40
%JAVA_HOME%\bin;C:\ProgramData\Oracle\Java\javapath;

我使用的是 Windows 8.1 和 Java 版本 1.8.0_40。

编辑:澄清措辞。回复刘国良:

1.是的。

2.java -version 产量:

java version "1.8.0_40"
Java(TM) SE Runtime Environment (build 1.8.0_40-b26)
Java HotSpot(TM) Client VM (build 25.40-b25, mixed mode, sharing)

3.echo %PATH% 开头为

C:\Program Files (x86)\Java\jdk1.8.0_40\bin;C:\ProgramData\Oracle\Java\javapath;

echo %JAVA_HOME% 产量:

C:\Program Files (x86)\Java\jdk1.8.0_40

最佳答案

问题是,当您在注册表编辑器中创建 key 时,该 key 始终会创建为未解析环境变量的 REG_SZ 值。因此,您需要创建一个名为 REG_EXPAND_SZ 的 key 。环境变量已解决。您无法在注册表编辑器中执行此操作。

为了实现你想做的事情

  • 创建系统环境变量JAVA_HOME
  • 使用以下内容创建注册表文件 myjar.reg

十六进制值为"%JAVA_HOME%\bin\java.exe"-jar "D:\path\to\MyJar.jar"

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\MyJar\command]
@=hex(2):22,00,25,00,4a,00,41,00,56,00,41,00,5f,00,48,00,4f,00,4d,00,45,00,\
25,00,5c,00,62,00,69,00,6e,00,5c,00,6a,00,61,00,76,00,61,00,2e,00,65,00,78,\
00,65,00,22,00,20,00,2d,00,6a,00,61,00,72,00,20,00,22,00,44,00,3a,00,5c,00,\
70,00,61,00,74,00,68,00,5c,00,74,00,6f,00,5c,00,4d,00,79,00,4a,00,61,00,72,\
00,2e,00,6a,00,61,00,72,00,22,00,00,00

myjar.reg 导入注册表(在注册表编辑器"file"->“导入”中)。然后在编辑器中修改 Jar 文件的路径。

关于java - 通过上下文菜单启动 JAR 文件时“找不到应用程序”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29302121/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com