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

Dan*_*lan 8 java findbugs maven

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

对我而言似乎应该在这里,但选项的数量似乎不够全面.我如何配置findbugs 关心findbugs注释?

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

Joh*_*lly 15

这是我使用的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>
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)

有关在findbugs手册中配置findbugs过滤器文件的更多信息

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

<includeFilterFile>findbugs-include.xml</includeFilterFile>
Run Code Online (Sandbox Code Playgroud)

  • 请注意,我们喜欢文件解决方案,因为您还可以配置eclipse以使用相同的文件. (2认同)