无法通过在 Windows 上双击 .jar 文件来 运行 7

Unable to run .jar files by double-clicking them on Windows 7

运行 命令行中的 .jar 文件工作正常,但我无法通过双击在我的电脑上执行 .jar 文件。有趣的是,同样的 .jar 文件通过双击在我的笔记本电脑上成功执行。

我在 PATH 变量中加入了 %JAVA_HOME\binJDK_HOME\bin
我将 JAVA_HOME 设置为 C:\Program Files\Java\jre1.8.0_121
我已将 JDK_HOME 设置为 C:\Program Files\Java\jdk1.8.0_121

有一段时间,Java(TM) Platform SE binaryOpen with 列表中消失了,直到我无法添加它我将 regedit.exe 中的 HKEY_CLASSES_ROOT\jar_auto_file\shell\open\command 键更改为适当的版本:

C:\Program Files\Java\jre1.8.0_121\bin\javaw.exe" "%1".


这是在我的电脑上输入 java -version 的 Windows CMD 的快照:


我尝试了以下方法,没有成功:


附加信息:


我已经尝试通过以下链接解决这个问题(没有成功):


备注:


现在,我使用 C:\Windows\System32\cmd.exe /k "java -jar C:\path\to\jarfile\Program.jar" 作为 运行 jar 文件的快捷方式,但我对这个解决方案不满意,因为这会打开 运行 甚至 Swing 的控制台应用程序。

我设法在 打开方式 列表中获得 Java(TM) Platform SE binary (javaw.exe)通过匹配 HKEY_CURRENT_USERHKEY_LOCAL_MACHINE 注册表项中的路径:

HKEY_CURRENT_USER\Software\Classes\jar_auto_file\shell\open\command

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\jarfile\shell\open\command

似乎其中一个条目指向 Java 的旧版本。现在 .jar 文件终于可以显示图标了,但双击仍然不起作用

更新:解决方案

HKEY_CURRENT_USER/Software/Classes 中删除 .jarjar_auto_file 条目,它应该可以工作。 .jar 文件应再次双击打开。
确保先备份这些条目,方法是右键单击条目并选择Export

可在 superuser 上找到更多信息。