1

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

我将%JAVA_HOME\bin和包含JDK_HOME\binPATH变量中。
我已经JAVA_HOME设置为C:\Program Files\Java\jre1.8.0_121.
我已经JDK_HOME   设置为C:\Program Files\Java\jdk1.8.0_121.

一段时间以来,Java(TM) Platform SE 二进制文件从列表中消失了Open with,我无法添加它,直到我将HKEY_CLASSES_ROOT\jar_auto_file\shell\open\command密钥更改regedit.exe为适当的版本:

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


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


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

  • 重新安装 JRE 和 JDK,
  • 将 .jar 文件与C:\Program Files\Java\jre1.8.0_121\bin\javaw.exe,
  • 在命令行中使用assoc .jar=jarfile和,ftype jarfile="C:\Program Files\Java\jre1.8.0_121\bin\javaw.exe" -jar "%1" %*
  • 创建一个新的系统环境变量OPENDS_JAVA_ARGS并将其设置为-jar


附加信息:

  • 我正在使用 Windows 7 Professional 64 位(Service Pack 1),在我的 PC 和笔记本电脑上都安装了最新更新。
  • 通过双击运行 .jar 文件曾经可以在我的 PC 上运行,但不久前突然停止运行。我没有修改任何与 Java 相关的内容。
  • 我有最新版本的 JRE 和 JDK(Java 8 版本 121)。
  • 在我尝试运行的 .jar 文件中,有些是 GUI Swing 应用程序,有些是使用 .jar 打开系统控制台(如果尚未打开) Runtime.getRuntime().exec(String[])


我已经尝试使用以下链接上的解决方案解决此问题(没有成功):


笔记:

  • 我不想用 WinRAR 打开 .jar 文件。
  • 我不想通过java -jar jarfile.jar在 cmd.exe 中运行来打开 .jar 文件。
  • 我不是在寻找运行 .jar 文件的第 3 方应用程序。


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

4

1 回答 1

0

通过匹配路径和注册表项,我设法在Open with列表中获取Java(TM) Platform SE 二进制文件: (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文件终于显示图标了,但仍然无法双击

更新:解决方案

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

可以在superuser上找到更多信息。

于 2017-05-23T13:21:46.797 回答