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

时间:2018-09-27 12:24:43

标签: java jar executable-jar java-11

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

3 个答案:

答案 0 :(得分:1)

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

公共JRE的官方替代品是一个自定义运行时环境,您可以通过JDK的jlink工具来构建该环境。但是,在这种情况下,除了UNIX shell和Batch脚本之外,您将没有jar文件。

如果您不喜欢它,则可以使用JDK 11,并将Windows资源管理器中的jar文件与JDK的javaw.exe而不是JRE关联,如Running JAR file on Windows

所述

答案 1 :(得分:1)

  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. [library]在DefaultIcon中将图标/可执行文件的路径键入默认值
  8. javaw.exe的路径键入command中的默认值,例如"C:\Java\jdk11\bin\javaw.exe" -jar "%1" img
  9. 现在打开程序时选择javaw.exe

答案 2 :(得分:0)

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

java -jar %1

点击一个罐子>打开>选择蝙蝠

如果正确设置了Java路径(使用java -version进行检查),则它将在双击后运行jar。