无法找到Java SE 14的tools.jar

无法找到Java SE 14的tools.jar,java,tools.jar,Java,Tools.jar,tools.jar在最新的Java版本14中不存在。有谁能帮我弄清楚它是否被更换了,或者在哪里 我的系统有: C:\Users\Admin>wmic os get osarchitecture OSArchitecture 64-bit 我通过从下载jdk-14.0.2_windows-x64_bin.exe安装了最新的Java版本 安装后,我查看了安装文件夹C:\ProgramFiles\Java\jdk-14.0.2\lib,它没有tools.jar 我们是否需要为JRE安装任何有助

tools.jar
在最新的Java版本14中不存在。有谁能帮我弄清楚它是否被更换了,或者在哪里

我的系统有:

C:\Users\Admin>wmic os get osarchitecture
OSArchitecture
64-bit
我通过从下载
jdk-14.0.2_windows-x64_bin.exe
安装了最新的Java版本

安装后,我查看了安装文件夹
C:\ProgramFiles\Java\jdk-14.0.2\lib
,它没有
tools.jar

我们是否需要为JRE安装任何有助于
tools.jar
的其他软件包

如果
tools.jar
不存在,那么替换内容是什么?

从Java 9开始删除 自生效以来,删除了
rt.jar
tools.jar
dt.jar
和其他一些jar文件

引用JEP的话:

删除:rt.jar和tools.jar

以前存储在lib/rt.jar、lib/tools.jar、lib/dt.jar和各种其他内部jar文件中的类和资源文件现在以更高效的格式存储在lib目录中的特定于实现的文件中。这些文件的格式未指定,如有更改,恕不另行通知

我们是否需要为JRE安装其他有助于tools.jar的软件包

不,没有简单的解决办法

如果tools.jar不存在,替换内容是什么

没有直接的替代品。相反,您必须更改应用程序,使其不依赖于文件的存在

Java9+使用的是而不是tools.jar、rt.jar等等。见Giorgi Tsiklauri的

  • 如果依赖项在您自己的代码中,请更改代码,以便它通过Tools API访问Java编译器等。如果您的代码正在检查tools.jar是否存在,请删除该检查,然后(如有必要)以其他方式进行检查

  • 如果依赖项在第三方代码(可能是工具)中,则需要将其升级到与您尝试使用的Java版本兼容的版本


    • 几分钟前我也遇到了同样的问题

      我从Ubuntu终端键入以下命令下载了
      openjdk-11-jdk-headless

      $sudo apt安装openjdk-11-jdk-headless
      
      然后,打开intellij idea中的
      项目结构。快捷方式:(
      Ctrl+Alt+Shift+S

      你可以看到我的屏幕截图作为视觉指南

      在那里选择
      jdk
      版本
      (此处为openjdk 11)
      ,并将语言项目语言级别更改为
      11


      可能相关:。简而言之,将其他工具更新到不再依赖于
      tools.jar
      @LauraLiparulo的版本。您的链接引用了Jdk 1.7。@Pshemo解释了部分原因,但没有完全回答“JEP 220删除了众所周知且经常引用的JARs rt.jar和tools.jar。根据其描述,”以前存储在lib/rt.jar、lib/tools.jar、lib/dt.jar和各种其他内部jar文件中的类和资源文件现在将以更高效的格式存储在lib目录中的特定于实现的文件中。“@lauralparulo您的链接指的是Jdk 1.7。正确..那么tools.jar的功能已被替换为?”JAR文件现在以更高效的格式存储在lib目录中的特定于实现的文件中。”-引用答案。不同的功能进入不同的(对应的)目录文件。@Madala JDK特定模块。例如,
      javac
      JDK.compiler
      模块中,
      javadoc
      JDK.javadoc
      模块中,等等(尽管要注意
      javac
      javadoc
      您可能需要依赖标准
      java.compiler
      模块,除非您需要访问低级别、特定于供应商、不一定稳定的API)。