什么是tools.jar替换?

问题描述 投票:0回答:2

当我尝试构建 Ant 项目时,我在 Eclipse 上收到以下错误

com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK.
It is currently set to "C:\Program Files\Java\jre-10.0.2"

但我的 JAVA_HOME 变量设置为 C:\Program Files\Java\jdk-10 这是命令的结果 回显%JAVA_HOME% 我确实尝试了很多方法来解决这个问题,但我对 eclipse 不太了解,

我在互联网上进行了更多搜索,发现tools.jar自JDK 9以来已从JDK中删除[链接]https://www.reddit.com/r/javahelp/comments/765mwr/installed_jdk_9_and_my_toolsjar_is_missing/ 现在的问题是为什么 Eclipse 要求提供tools.jar,以及什么是tools.jar 替换?

java eclipse ant
2个回答
4
投票

在 Java 9 及更高版本中,之前

tools.jar
中的组件已转变为模块。对于javac编译器,您需要使用
java.compiler
模块。这不是简单的直接替换。

如果您遇到依赖于

tools.jar
的第 3 方应用程序(例如 Ant)的问题,您需要将该应用程序升级到与 Java 9+ 兼容的较新版本。

根据我对 Apache Ant 站点的阅读,这意味着您需要 Ant 1.10.x。检查网站的下载页面以了解当前推荐的内容。


-6
投票

如果您使用的是 openJDK11,您可能可以使用

lib/jrt-fs.jar
代替
tools.jar

© www.soinside.com 2019 - 2024. All rights reserved.