Java虚拟机:关于JDK8到JDK9-10的一点小变化(tools.jar、dt.jar)

关于JDK8到JDK9-10的一点小变化

JDK在每一次版本升级中,或多或少都会有一些比较重要的变化,或许在你使用的过程中,你就很有可能遇到。

一、Removed or Changed APIs

JDK8在升级到9或者10的时候,有一些变化还是蛮显著的。
今天我在编译OpenJdk10的时候,使用到了本机安装JDK10,它一直给我说有两个包,在JDK10中是缺失的。这就让我很烦躁了哟。
tools.jardt.jar包在JDK10中没有了。

* For target buildtools_langtools_tools_classes__the.BUILD_TOOLS_LANGTOOLS_batch:
warning: [path] bad path element "/Library/Java/JavaVirtualMachines/jdk-10.0.2.jdk/Contents/Home/lib/tools.jar": no such file or directory
warning: [path] bad path element "/Library/Java/JavaVirtualMachines/jdk-10.0.2.jdk/Contents/Home/lib/dt.jar": no such file or directory
error: warnings found and -Werror specified
1 error
2 warnings

这个时候,我在想为什么没有呢?
看到了Java官方发文了
JDK9的一些变化

其中在Removed Tools Support for Compact Profiles栏目下这个有说移除了一些东西
Removed rt.jar and tools.jar
Java虚拟机:关于JDK8到JDK9-10的一点小变化(tools.jar、dt.jar)_第1张图片

二、问题如何解决

如果你想像我一样,出现了既想使用JDK9或者10,同时你的项目或者服务中,又需要用到rt.jar and tools.jar这两个Jar包,那么怎么解决了?
问题也很好解决,你只需要下载一个JDK8,将8中的那两个Jar包复制放到9或者10相应的文件夹中。问题即可解决了。
下图红线框部分,就是我的JDK10 ,它原本没有这两个Jar包,我从8中拷贝了两个过来了,然后我的服务就正常完美了。
Java虚拟机:关于JDK8到JDK9-10的一点小变化(tools.jar、dt.jar)_第2张图片

好了,希望大家能在Java虚拟机的学习道路上越走越远。

你可能感兴趣的:(Java虚拟机(Jvm))