当前位置: 首页 > 知识库问答 >
问题:

无法解析Maven项目中的com.sun:tools:0?

柯伟志
2023-03-14

我已经为我的项目配置了mi pom.mxl文件,从一开始它就在控制台上显示以下错误:

无法解析com.sun:tools:0

我总是忽略这一点,因为我的IDE中的项目总是编译和运行的,而且我从来没有使用过这种依赖关系。但现在,我正试图在Mac的终端上使用maven支持运行我的项目,并且由于Sun:tools.jar依赖关系,我不允许编译到目前为止开发的任何工作项目。

我读过很多类似的文章,都是关于使用相同的sun:tools:jar依赖项的类似问题的,如:

  • 缺少项目com.sun:tools:jar
  • 缺少库com.sun.tools.attach
  • 找不到项目COM.Sun:Tools:Jar:0

我已经做了所有的事情,但许多解决方案都是基于在jdk安装目录中找到tools.jar文件。由于我使用的是JDK15,因此已经删除了此依赖关系:

我附上我从终端得到的确切错误消息

 ----------------------< org.example:YelpExercise >----------------------
[INFO] Building YelpExercise 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  0.737 s
[INFO] Finished at: 2020-11-04T18:59:47-03:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project YelpExercise: Could not resolve dependencies for project org.example:YelpExercise:jar:1.0-SNAPSHOT: Could not find artifact com.sun:tools:jar:0 at specified path /Library/Java/JavaVirtualMachines/jdk-15.0.1.jdk/Contents/Home/../lib/tools.jar -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException

共有1个答案

景国兴
2023-03-14

好吧,经过几个小时甚至几天的研究,我找到了解决办法:

对于JDK9及以上版本,在定义pom.xml时,无论何时使用包含子依赖项的依赖项,都必须排除该子依赖项。在我的例子中,cobertura依赖项包括sun.com:tools。

我在pom.xml文件中编辑的内容:

<!-- https://mvnrepository.com/artifact/net.sourceforge.cobertura/cobertura -->
    <dependency>
        <groupId>net.sourceforge.cobertura</groupId>
        <artifactId>cobertura</artifactId>
        <version>2.1.1</version>
        <scope>test</scope>
        <exclusions>
            <exclusion>
                <groupId>com.sun</groupId>
                <artifactId>tools</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
 类似资料:
  • 我希望有人面对同样的问题来解决依赖。下面提到的文件 xsi:schemalocation=“http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd”xmlns=“http://maven.apache.org/pom/4.0.0”xmlns:xsi=“http://www.w3.org/2001/x

  • 我想通过Jenkins用maven Build运行一个项目。 使用的存储库-Git从存储库中提取代码 使用的构建工具--Maven 我的jenkins控制台输出 请注意:-如果你看不到图像,只需使用Ctrl++缩放即可

  • 我有一个Apache Ivy(版本2.4.0)和Netbean IDE(8.0.2)的设置。我无法解决成熟的maven项目的依赖关系(例如:org.glassfish.jersey)。Apache Ivy成功地解决了更特定模块的依赖关系,如(org.glassfish.jersey.core)。 非工作示例: 工作实例: 常春藤。xml ivysettings。xml build.xml(只是IV

  • 我在使用以下内容进行构建时遇到问题: mvn清理-U安装-Dmaven.test.skip=true 人工制品不在nexus中,而是在我的本地存储库中创建的。 [错误]无法在项目mis-core上执行目标:无法解决项目x. y. z: mis-core: ejb: 0.0.1-SNAPSHOT的依赖关系:无法在https://company.net:8080/nexus/content/repos

  • 我对Android的Gradle构建有问题。我尝试了很多方法来解决这个问题,但没有什么不起作用。我需要帮助。 Gradle版本:4.4 Gradle插件:3.0.1 错误:无法解析app@serverDebug /compileClasspath的依赖关系:无法解析项目:vksdk_library。 错误:无法解析“”的依存关系:app@mockDebugAndroidTest/compileCl

  • 我是Android Studio的新手,面临以下错误。 错误:无法解析“:”的依赖项app@debug/compileClasspath“:无法解析项目:floatinglibrary。显示受影响模块的详细信息:应用 错误:无法解析“:app@debug/编译类路径”的依赖关系:无法解析项目:d时间筛选库。显示详细信息 受影响的模块:应用