什么是tools.jar替换?

时间:2018-10-04 03:29:41

标签: eclipse ant building

当我尝试构建一个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% 我确实为解决这个问题做了很多尝试,但是我对日食的了解不多,

编辑:我在互联网上搜索了更多内容,发现自JDK 9 [link] https://www.reddit.com/r/javahelp/comments/765mwr/installed_jdk_9_and_my_toolsjar_is_missing/起,tools.jar已从JDK中删除。 现在的问题是,为什么eclipse要求使用tools.jar?什么是tools.jar替换?

我非常感谢您的帮助 非常感谢

2 个答案:

答案 0 :(得分:0)

在Java 9和更高版本中,tools.jar中先前的组件已转换为模块。对于javac编译器,您需要使用java.compiler模块。这不是简单的直接替换。

如果依赖tools.jar的第三方应用程序(例如Ant)遇到问题,则需要将应用程序升级到Java 9+兼容的较新版本。

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

答案 1 :(得分:-1)

如果您使用的是openJDK11,则可以使用lib/jrt-fs.jar代替tools.jar