Cannot resolve com.sun:tools:1.8.0

2年前 (2022) 程序员胖胖胖虎阿
225 0 0

今天接手了一个使用 jdk11 的项目,而我之前做的项目一直是使用的 jdk8,从 git 拉下来之后想着问题不大,然后就开始下载 maven 依赖。

接着控制台就输出了这一行:Cannot resolve com.sun:tools:1.8.0

Cannot resolve com.sun:tools:1.8.0

由于是第一次见到这个依赖,立马想到的就是进行全局搜索,看看这个依赖是在哪个 pom 文件下

Cannot resolve com.sun:tools:1.8.0但并没有找到。。。 

于是乎点开 idea 右侧工具栏的 maven列表,发现是在 org.codehaus.groovy:groovy-all:pom:2.5.14 下面有资源依赖了这个 tools

Cannot resolve com.sun:tools:1.8.0

网上基本上都说 com.sun:tools 这个资源来自 jdk 的 lib 目录下的 tools.jar

大多数的解决方案都是在 pom 文件中去引入 jdk 的 lib 目录下的 tools.jar

<dependency>
        <groupId>com.sun</groupId>
        <artifactId>tools</artifactId>
        <version>1.8.0_301</version>
        <scope>system</scope>
        <systemPath>${java.home}/../lib/tools.jar</systemPath>
</dependency>

这样确实是可以解决,但我去看了我的 jdk 安装目录(从官网下载的解压包),并没有这个 jar,所以这个方法对我无效,查找资料之后发现是 jdk11 以后简化了环境配置方式,是没有 tools.jar 和 dt.jar 的

Cannot resolve com.sun:tools:1.8.0

 于是我就猜想这个 1.8.0 会不会是对应 jdk 的版本号,而恰巧我之前用的就是 jdk8,打开了 lib 目录之后发现是有的

Cannot resolve com.sun:tools:1.8.0

这时我先想到的就是更换项目的 jdk 版本,但这是刚开始搭框架就选好的技术栈,改版本不现实,所以pass

既然改版本不现实,那我如果把 jdk1.8 的 tools.jar 复制到 jdk11 下面是否行得通呢?

Cannot resolve com.sun:tools:1.8.0

 复制过去之后回到 idea 对项目进行 reimport 之后,成功解决问题

Cannot resolve com.sun:tools:1.8.0

Cannot resolve com.sun:tools:1.8.0 

 但是这样做会不会出现 jdk 的兼容问题就有待考究了。

版权声明:程序员胖胖胖虎阿 发表于 2022年11月12日 上午11:48。
转载请注明:Cannot resolve com.sun:tools:1.8.0 | 胖虎的工具箱-编程导航

相关文章

暂无评论

暂无评论...