问题描述
tools.jar
在最新的Java版本14中不存在。有人可以帮助我了解它是否已替换或在哪里?
我的系统有:
C:\Users\Admin>wmic os get osarchitecture
OSArchitecture
64-bit
我通过从Oracle's website下载jdk-14.0.2_windows-x64_bin.exe
安装了最新的Java版本。
安装后,我查看了安装文件夹C:\Program Files\Java\jdk-14.0.2\lib
,它没有tools.jar
。
我们是否需要为JRE安装其他任何有助于tools.jar
的软件包?
如果不存在tools.jar
,则替换什么?
解决方法
我们是否需要为JRE安装其他任何有助于tools.jar的软件包?
不。没有简单的解决方法。
如果不存在tools.jar,则替换什么?
没有直接替代品。相反,您必须更改应用程序,以使其不依赖于文件的存在。
Java 9+使用模块系统,而不是tools.jar,rt.jar等。 (请参见https://stackoverflow.com/a/63696760/139985)
-
如果依赖项在您自己的代码中,请更改代码,以使其可以通过Tools API访问Java编译器等。如果您的代码正在检查tools.jar的存在,请删除该检查并(如果需要)以其他方式检查。
-
如果依赖关系是第三方代码(可能是工具),则需要将其升级到与您要使用的Java版本兼容的版本。
自JDK 9起生效,JEP 220删除了rt.jar
,tools.jar
,dt.jar
和其他一些jar文件。
从http://openjdk.java.net/jeps/220
已删除:rt.jar和tools.jar
,以前存储在lib / rt.jar,lib / tools.jar,lib / dt.jar和其他各种内部JAR文件中的类和资源文件现在以更有效的格式存储在lib目录。这些文件的格式未指定,如有更改,恕不另行通知。
几分钟前我遇到了同样的问题。
我通过从 Ubuntu 终端输入以下命令下载了 openjdk-11-jdk-headless
:
$ sudo apt install openjdk-11-jdk-headless
然后,打开intellij idea中的project structure
。快捷方式:(Ctrl+Alt+Shift+S
)。
您可以查看我的屏幕截图以获取视觉指南。
选择jdk
版本(openjdk 11 here)
并将语言项目语言级别更改为11