FindBugs
     
     是一种静态代码分析工具,可识别从Java代码中发现的问题。
    
     我们可以使用
     
      FindBugs Maven插件
     
     将
     
      FindBugs
     
     集成到我们的构建过程中。 这篇博客文章确定了四个典型的用例,并描述了我们如何配置FindBugs Maven插件以支持每个用例。
    
描述的用例是:
- 创建FindBugs报告作为项目报告的一部分。
- 如果FindBugs从源代码中发现问题,则构建失败。
- 创建XML报告而不会使构建失败。
- 在不创建站点的情况下创建XML和HTML报告。
让我们开始吧。
     用例1:创建Findbugs报告作为项目报告的一部分
    
有时,我们不想在每次编译项目时都运行静态代码分析。 相反,我们希望在需要时手动运行它。 在这种情况下,最好的选择是在创建项目站点时创建FindBugs报表。
我们可以按照以下步骤进行操作:
- 
      将FindBugs Maven插件的声明添加到
 
 pom.xml
 
 文件的
 
 报告
 
 部分。
- 
      通过执行以下步骤配置FindBugs Maven插件:
- 确保执行最准确的分析。
- 确保报告了所有错误。
- 确保已生成XML报告。
 
     
      pom.xml
     
     文件的相关部分如下所示:
    
<reporting>
    <plugins>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>findbugs-maven-plugin</artifactId>
            <version>2.5.2</version>
            <configuration>
                <!--
                   Enables analysis which takes more memory but finds more bugs.
                   If you run out of memory, changes the value of the effort element
                   to 'low'.
               -->
                <effort>Max</effort>
                <!-- Reports all bugs (other values are medium and max) -->
                <threshold>Low</threshold>
                <!-- Produces XML report -->
                <xmlOutput>true</xmlOutput>
            </configuration>
        </plugin>
    </plugins>
</reporting>
仅在编译项目时才创建
报告。
换句话说,当我们要创建FindBugs报表时,我们必须在命令提示符处运行以下命令:
mvn clean compile site让我们继续前进,看看如果FindBugs从源代码中发现问题,如何使构建失败。
     用例2:如果发现问题,则构建失败
    
如果我们希望确保我们的代码甚至没有一个小问题,那么在每次编译项目时都运行静态代码分析可能是个好主意。 当然,仅当发现问题时构建失败时&
 
