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

bob*_*sti 5 java windows-7 jar

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

我包括%JAVA_HOME\binJDK_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=jarfileftype 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 应用程序。

我在stackoverflow上问了同样的问题,但有人向我指出超级用户更适合这类问题。

Sti*_*gma 5

我遇到了一个和你今天遇到同样问题的人。不知何故,我设法修复了它,尽管我不确定是什么修复了它;我只能向您提供我已采取的大致步骤系列。

使用 regedit,我发现 HKEY_CURRENT_USER 和 HKEY_LOCAL_MACHINE 注册表项不一致。HKLM 具有典型的.jar->jarfile设置,并jarfile指向正确的路径。HKCU 有一个.jar->jar_auto_file关联,它指向一个旧的无效路径。

编辑此路径并没有修复它。我也尝试将其指向jarfile,这也无济于事。我手忙脚乱与assocftype一点,看看这可能会唤醒视窗起来; 我认为反劫持功能以某种方式阻止了 Windows 侦听更新的路径。可悲的是,它没有做太多。

所以最终我只是删除了该jar_auto_file条目。这给了我部分的快乐:Windows 终于意识到Open With菜单中的条目是具有工作路径的条目。(过去选择正确的路径/文件永远不会正确。)遗憾的是双击仍然失败。但是,只需确保选中“始终使用此程序打开此类文件”框并打开它,最终就可以很好地修复关联,使双击实际上再次起作用。

  • **更新:** 我从 `HKEY_CURRENT_USER/Software/Classes` 中删除了 `.jar` 和 `jar_auto_file` 条目,**它有效**!.jar 文件再次双击打开! (3认同)

小智 5

我也有这个问题。解决方案更简单。添加缺少的-jar参数。

转到 HKEY_CLASSES_ROOT\jar_auto_file\shell\open\command 并将默认值设置为:

"C:\Program Files\Java\[...]\java.exe" "-jar" "%1" 
Run Code Online (Sandbox Code Playgroud)

缺少的只是"-jar"选项。

享受!