如何配置FindBugs maven插件以仅检查@Nonnull之类的注释违规?

时间:2014-05-08 18:51:24

标签: java maven findbugs

我已经实现了this question的答案,因此@Nonnull违规使构建失败。但问题是,这是发现很多其他我不想处理的错误。我看过the manual,并没有任何一节向我跳出来,“这就是你如何配置要检查的内容”章节。

对我而言似乎是it should be in here,但选项的数量似乎不够全面。我如何配置findbugs 关心findbugs注释?

我可能会接受一个答案,告诉我如何在不使用maven插件的情况下完成它,因为我认为我可以弄清楚如何将其转换为插件可以使用的内容。

1 个答案:

答案 0 :(得分:12)

这是我使用的findbugs maven配置:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>findbugs-maven-plugin</artifactId>
    <version>2.4.0</version>
    <configuration>
        <excludeFilterFile>findbugs-exclude.xml</excludeFilterFile>
        <findbugsXmlOutput>true</findbugsXmlOutput>
        <xmlOutput>true</xmlOutput>
    </configuration>
</plugin>

findbugs-exclude.xml文件位于我的项目根目录中(与pom.xml相同 - 我应该把它放在更好的地方),并配置我想忽略的findbugs问题。这是我的排除文件中的内容:

<?xml version="1.0" encoding="UTF-8"?>
<FindBugsFilter>
    <Match>
        <Bug pattern="EI_EXPOSE_REP,EI_EXPOSE_REP2"/>
    </Match>
    <Match>
        <Package name="com.mypackage.something"/>
    </Match>
</FindBugsFilter>

有关配置findbugs过滤器文件in the findbugs manual

的更多信息

另外,您可以将findbugs maven插件更改为仅使用此代码而不是excludeFilterFile包含某些过滤器:

<includeFilterFile>findbugs-include.xml</includeFilterFile>