我有这个问题,我一直试图解决一天中的大部分时间,但似乎无法做到。
我已经设置了我的maven,如果findbugs发现任何错误,它就会失败。但是,由于某些原因,我想忽略项目中当前存在的所有错误,并且只有在发现新错误时才会失败。基线。
我能够使用适用于IntelliJ的FindBugs插件生成包含<BugCollection>
的XML文件,其中包含我当前的所有错误。但是,将此提供给maven插件无效。
似乎maven插件需要这种格式的过滤器文件:
<Match>
<Class name="com.foobar.MyClass" />
</Match>
我的问题是:如何生成此过滤器文件?
似乎findbugs:gui不是一个很好的选择,因为它只允许我过滤bug类型和类。意味着在同一个类中使用相同类型的新错误,但会忽略不同的方法。
或者:我如何为maven制作findbugs忽略现有的bug并且只在新的bug上失败?
谢谢 :)
您应该使用excludeBugsFile配置,如下所示。 findbugs-baseline.xml是使用Intellij中的FindBugs-IDEA插件导出的文件
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<configuration>
<excludeBugsFile>${project.basedir}/findbugs-baseline.xml</excludeBugsFile>
</configuration>
<executions>
<execution>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>