FindBugs Maven插件教程

  • Post author:
  • Post category:其他




FindBugs

是一种静态代码分析工具,可识别从Java代码中发现的问题。

我们可以使用

FindBugs Maven插件



FindBugs

集成到我们的构建过程中。 这篇博客文章确定了四个典型的用例,并描述了我们如何配置FindBugs Maven插件以支持每个用例。

描述的用例是:

  1. 创建FindBugs报告作为项目报告的一部分。
  2. 如果FindBugs从源代码中发现问题,则构建失败。
  3. 创建XML报告而不会使构建失败。
  4. 在不创建站点的情况下创建XML和HTML报告。

让我们开始吧。

用例1:创建Findbugs报告作为项目报告的一部分

有时,我们不想在每次编译项目时都运行静态代码分析。 相反,我们希望在需要时手动运行它。 在这种情况下,最好的选择是在创建项目站点时创建FindBugs报表。

我们可以按照以下步骤进行操作:

  1. 将FindBugs Maven插件的声明添加到

    pom.xml

    文件的

    报告

    部分。
  2. 通过执行以下步骤配置FindBugs Maven插件:

    1. 确保执行最准确的分析。
    2. 确保报告了所有错误。
    3. 确保已生成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:如果发现问题,则构建失败

如果我们希望确保我们的代码甚至没有一个小问题,那么在每次编译项目时都运行静态代码分析可能是个好主意。 当然,仅当发现问题时构建失败时&