Maven Findbugs的设置基线

时间:2017-10-16 13:22:42

标签: maven findbugs

我有这个问题,我一直试图在一天中的大部分时间内解决这个问题,但似乎无法做到。

我已经设置了我的maven,以便在findbugs发现任何错误时失败。但是,由于某些原因,我想忽略项目中当前存在的所有错误,并且只有在发现新错误时才会失败。基线。

我能够生成包含<BugCollection>的XML文件  使用我所有的当前错误,使用IntelliJ的FindBugs插件。但是,将此提供给maven插件无效。

maven插件似乎需要这种格式的过滤器文件:

 <Match>
   <Class name="com.foobar.MyClass" />
 </Match>

我的问题是:如何生成此过滤器文件?

似乎findbugs:gui不是一个很好的选择,因为它只允许我过滤bug类型和类。这意味着在同一个类中使用相同类型的新错误,但会忽略不同的方法。

或者:如何让maven的findbugs忽略现有的bug并且只在新的bug上失败?

谢谢:)

1 个答案:

答案 0 :(得分:0)

您应该使用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>