我在一个大型项目中使用 Maven 和 FindBugs。如果 FindBugs 产生任何高优先级错误,我想导致 Maven 构建失败。可以在 pom.xml 中设置一个简单的参数以在错误时失败,但我需要它在高优先级警告时失败。任何建议都会很大!
user1022241
问问题
5347 次
1 回答
3
我怀疑您已经知道插件可用的 findbugs:check 目标。将阈值配置项设置为高应该将目标限制为仅在高优先级问题上失败。
这是您的 pom.xml 的示例配置片段
<build>
...
<plugins>
...
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>2.4.0</version>
<executions>
<execution>
<id>failing-on-high</id>
<phase>process-test-resources</phase>
<goals>
<goal>check</goal>
</goals>
<configuration>
<threshold>High</threshold>
<onlyAnalyze>com.example.-</onlyAnalyze>
</configuration>
</execution>
</executions>
</plugin>
...
</plugins>
...
</build>
在这个片段中,我对以“com.example”开头的包进行了有限的分析,并将阈值设置为高,并将 findbugs:check 配置为在自动化测试之前运行。
触发构建失败的示例:
[INFO] --- findbugs-maven-plugin:2.4.0:findbugs (findbugs) @ channels ---
[INFO] Fork Value is true
[java] Warnings generated: 29
[INFO] Done FindBugs Analysis....
[INFO]
[INFO] <<< findbugs-maven-plugin:2.4.0:check (failing-on-high) @ channels <<<
[INFO]
[INFO] --- findbugs-maven-plugin:2.4.0:check (failing-on-high) @ pricing ---
[INFO] BugInstance size is 29
[INFO] Error size is 0
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
另请参阅:http: //mojo.codehaus.org/findbugs-maven-plugin/check-mojo.html以了解您可以包含的其他配置选项。您可能希望包含 xml 报告,以便 CI 服务器可以使用 xmlOutput 配置捕获它以便轻松报告故障。
于 2012-05-17T19:14:26.453 回答