无法找到 com.sun:tools:jar:0 的构件。

15

我试图使用checkstyle和findbugs,通过执行mvn checkstyle:checkstyle命令,但是出现了这个错误This error

[ERROR] Failed to execute goal on project my-project: Could not resolve dependencies for project default:my-project:jar:1.1: Could not find artifact com.sun:tools:jar:0 at specified path C:\Program Files\Java\jdk-11.0.2/../lib/tools.jar -> [Help 1]

我在我的JDK中没有tools.jar(我有jdk-11.0.2)。

我已经花了两个小时了,救命啊 :/


2
将所有错误作为文本添加到问题中。不要使用图片。 - J Fabian Meier
@Leon,请编辑您的问题并将错误放在代码块中,而不是作为图像。 - Dr Mido
尝试升级checkstyle-plugin版本,因为该问题在更高版本中已得到解决。 - hovanessyan
哦,抱歉,完成了! - Leon
1个回答

21

tools.jar已从Java 9+中移除

你正在使用JDK 11。在那里找不到tools.jar

JEP 220: 模块化运行时镜像Java 9起从lib文件夹中删除了tools.jarrt.jar

被删除的内容:rt.jar 和 tools.jar

以前存储在lib/rt.jar、lib/tools.jar、lib/dt.jar和各种其他内部JAR文件中的类和资源文件现在以更有效的格式存储在实现特定的文件中,这些文件位于lib目录中。这些文件的格式未指定,并且可能在不事先通知的情况下发生更改。

此更改是添加Java平台模块系统(又名Project Jigsaw)的一部分。

要升级Checkstyle,请使用更新版本,例如:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-checkstyle-plugin</artifactId>
    <version>3.0.0</version>
    <dependencies>
        <dependency>
            <groupId>com.puppycrawl.tools</groupId>
            <artifactId>checkstyle</artifactId>
            <version>8.18</version>
        </dependency>
    </dependencies>
</plugin>

注意内部的dependency块。

查询Maven存储库以获取Apache Maven Checkstyle PluginCheckstyle的版本。


2
@Leon 升级到一个不使用那些 JAR 文件的新版本 Checkstyle。 - LppEdd
请问您知道我可以找到一个的线索吗? - Leon
谢谢。我需要将这个插件块放入<dependency>中,对吗? - Leon
1
@Leon 看这里 https://maven.apache.org/plugins/maven-checkstyle-plugin/examples/upgrading-checkstyle.html 你应该已经声明了那个插件。 - LppEdd
2
@Leon 哦,太棒了!请考虑将答案标记为已接受(根据社区准则),以便其他人知道解决方案有效。谢谢! - LppEdd
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接