Oracle JDK 11 安装程序和 JAR 文件关联 Windows

Oracle JDK 11 installer & JAR file association on Windows

我刚刚在 Windows 10 上安装了 Oracle JDK 11。我注意到 PATH 变量不包含 JDK 11 路径。此外,.JAR 文件扩展名与 javaw 无关。我们的用户过去常常双击 JAR 文件来执行客户端 Java/SWING 应用程序。使用 Java 11 这不起作用。这是错误还是功能?我知道如何设置 PATH 并使用命令行手动启动应用程序。我只是想让最终用户更容易。有什么想法吗?

Java 11 中没有 Public JRE,而在以前的 Java 版本中有。不要与以前 JDK 版本中的 jre 目录混淆,它不是 Public JRE。旧 Public JRE 的安装程序也将 java.exejavaw.exe 程序复制到默认情况下在 PATH 环境变量中定义的 C:\Windows\System32 目录中。他们还做了很多其他事情,比如更改 Windows 注册表。旧 Public JRE 的安装程序从未更改 PATH.

中的任何内容

Public JRE 的官方替代品是一个自定义运行时环境,您可以使用 JDK 的 jlink 工具构建它。但是在这种情况下,除了 UNIX shell 和批处理脚本之外,您将没有任何 jar 文件。

如果您不喜欢它,您可以使用 JDK 11 并将 Windows Explorer 中的 jar 文件与 JDK 的 javaw.exe 相关联,而不是 JRE,如那里所述 Running JAR file on Windows

  1. 打开regedit.exe
  2. Select HKEY_CLASSES_ROOT
  3. 创建新密钥.jar
  4. 输入jarfile为默认值 img
  5. HKEY_CLASSES_ROOT 中创建新密钥 jarfile
  6. jarfile中创建密钥树 jarfile DefaultIcon shell open command
  7. [可选] 将 icon/executable 文件的路径键入 DefaultIcon
  8. 中的默认值
  9. javaw.exe 的路径键入 command 中的默认值,如 "C:\Java\jdk11\bin\javaw.exe" -jar "%1" img
  10. 现在selectjavaw.exe打开程序时。

我制作了一个bat文件,其中包含以下内容:

java -jar %1

点击一个罐子 > 打开 > select 你的蝙蝠

如果 java 路径设置正确(检查 java -version)它会在双击后 运行 你的 jar。