有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Maven+FindBugs在高优先级警告时失败

我正在一个大型项目中使用Maven和FindBugs。如果FindBugs产生任何优先级错误,我希望导致maven构建失败。可以在pom中设置一个简单的参数。xml在错误时失败,但我需要它在高优先级警告时失败。任何建议都将是巨大的


共 (1) 个答案

  1. # 1 楼答案

    我怀疑您已经知道该插件的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”开头的包。将阈值设置为高,并将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配置轻松捕获它以报告故障