3

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

4

3 回答 3

3
  1. 打开regedit.exe
  2. 选择HKEY_CLASSES_ROOT
  3. 创建新密钥.jar
  4. 输入jarfile默认值 img
  5. HKEY_CLASSES_ROOT创建新密钥jarfile
  6. jarfile创建密钥树之类的 jarfile DefaultIcon shell open command
  7. [可选] 输入图标/可执行文件的路径为默认值DefaultIcon
  8. 在类似imgjavaw.exe中输入默认值的路径command"C:\Java\jdk11\bin\javaw.exe" -jar "%1"
  9. 现在javaw.exe打开程序时选择。
于 2018-11-18T11:09:59.657 回答
3

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

Public JRE 的官方替代方案是自定义运行时环境,您可以通过 JDK 的jlink工具构建。但是,在这种情况下,除了 UNIX shell 和批处理脚本之外,您根本没有 jar 文件。

如果您不喜欢它,您可以使用 JDK 11 并将 Windows Explorer 中的 jar 文件与javaw.exeJDK 相关联,而不是 JRE,如在 Windows 上运行 JAR 文件中所述

于 2018-09-29T16:19:22.533 回答
1

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

java -jar %1

点击一个罐子>打开方式>选择你的蝙蝠

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

于 2019-04-22T08:32:46.093 回答