Cannot resolve com.sun:tools:1.8.0

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

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

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

但并没有找到。。。 

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

网上基本上都说 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 的

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

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

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

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

 

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

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
com.sun:tools:1.8.0 是指Java Development Kit (JDK) 中的工具包,用于开发Java应用程序和编译Java代码。如果您遇到 "cannot resolve com.sun:tools:1.8.0" 的问题,可能有以下几个原因: 1. 依赖关系错误:可能您的项目的构建配置文件中缺少或错误指定了与该工具包的依赖关系。请确保您的项目配置文件(如pom.xml或build.gradle)正确指定了JDK工具包的依赖。 2. 仓库配置错误:在构建项目时,构建工具(如Maven或Gradle)需要从指定的仓库下载工具包。如果您的项目配置文件中的仓库设置有误,无法正确下载该工具包。请检查您的项目配置文件中的仓库设置,并确保可以从正确的仓库中获取该工具包。 3. JDK版本不匹配:可能您使用的JDK版本与指定的工具包版本不匹配。请确保您正在使用与 com.sun:tools:1.8.0 版本匹配的JDK。 解决该问题的方法可以包括: 1. 检查项目配置文件:仔细检查您的项目配置文件(如pom.xml或build.gradle),确保相关依赖正确指定。 2. 检查仓库设置:确保您的项目配置文件中的仓库设置正确,并可以正常连接和下载所需的工具包。 3. 更新JDK版本:如果您正在使用较旧的JDK版本,请尝试升级到与指定工具包兼容的最新的JDK版本。 4. 手动添加工具包:如果以上方法仍然无法解决问题,您可以尝试手动添加 com.sun:tools:1.8.0 工具包到您的项目中。请从可信赖的仓库或官方网站下载该工具包,并将其放置在项目的正确位置。 总之,无法解析 com.sun:tools:1.8.0 的问题可能是由于依赖关系错误、仓库配置错误或JDK版本不匹配等原因导致的。通过检查项目配置文件、仓库设置和JDK版本,并尝试适当的解决方法,您应该能够解决这个问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值