gpt4 book ai didi

java - 将 findbugs-slf4j 插件与 Maven 一起使用

转载 作者:行者123 更新时间:2023-12-01 17:53:16 26 4
gpt4 key购买 nike

我正在使用 Maven 尝试 findbugs-slf4j 插件。正如他们的 documentation 中提到的我在我的`pom.xml

中添加了以下内容
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>3.0.1</version>
<configuration>
<plugins>
<plugin>
<groupId>jp.skypencil.findbugs.slf4j</groupId>
<artifactId>bug-pattern</artifactId>
<version>1.2.4</version>
</plugin>
</plugins>
</configuration>
</plugin>

为了测试这一点,我在代码中添加了如下所示的日志

logger.error("Could not send inventory data to collector. Exception: {}", e); // where e is an instance of Exception

但是在编译项目并执行 mvn findbugs:findbugsmvn findbugs:gui 时,我没有看到任何与 SLF4J_PLACE_HOLDER_MISMATCH 相关的错误>。

编辑正如答案之一所建议的,我将插件依赖项更改为

<reporting>
<plugins>
<plugin>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs-maven-plugin</artifactId>
<version>3.1.0-RC7</version>
<configuration>
<plugins>
<plugin>
<groupId>jp.skypencil.findbugs.slf4j</groupId>
<artifactId>bug-pattern</artifactId>
<version>1.2.4</version>
</plugin>
</plugins>
</configuration>
</plugin>
</plugins>
</reporting>

但是在运行 mvn Spotbugs:spotbugs 时,它向我抛出以下错误

No plugin found for prefix 'spotbugs' in the current project and in the plugin groups [org.apache.maven.plugins, org.codehaus.mojo] available from the repositories [local (/Users/dmanna/.m2/repository), central (http://artifactory.srk.local:8080/plugins-release), snapshots (http://artifactory.srk.local:8080/plugins-snapshot)]

有人可以让我知道我做错了什么吗?

最佳答案

错误的插件和任务

它看起来像 this page 上的文档已过时且与 README 不同这显然是正确的。您应该使用以下工件包含该插件:

<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs-maven-plugin</artifactId>
<version>3.1.0-RC7</version>

与此一起使用的正确 Maven 任务是 spotbugs:spotbugs 而不是 findbugs:findbugs

旧答案

让我们看看 SLF4J_PLACE_HOLDER_MISMATCH 规则检查什么...

This pattern checks how placeholder is used. Alert if count of placeholder does not match to count of parameter.

您有一个占位符和一个参数,因此根据 documentation 不违反 SLF4J_PLACE_HOLDER_MISMATCH ,这就是为什么您没有看到任何报告的错误。 请记住,对于 Throwable 实例来说情况并非如此,因为它们不需要占位符。

尝试使用文档中的测试用例来查看插件在您的设置中是否正常工作。

关于java - 将 findbugs-slf4j 插件与 Maven 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47639796/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com