findbugs maven plugin site vs check

时间:2013-05-22 00:12:03

标签: maven pom.xml findbugs

我只是想绕过一些事情。

如果我在masterpom

中有这个
<reporting>
 <plugins>
  <plugin>
   <groupId>org.codehaus.mojo</groupId>
   <artifactId>findbugs-maven-plugin</artifactId>
   <version>2.5.2</version>
   <configuration>
      <failOnError>false</failOnError>
      <threshold>High</threshold>
      <effort>Default</effort>
      <xmlOutput>true</xmlOutput>
      <skip>${skipFindBugs}</skip>
      <xmlOutputDirectory>target/reports/findbugs</xmlOutputDirectory>
      <excludeFilterFile>
          src/main/resources/findbugs-exclude-filters.xml
      </excludeFilterFile>
   </configuration>
  </plugin>
 </plugins>
</reporting>

我的findbugs-exclude-filters.xml看起来像这样:

<?xml version="1.0" encoding="UTF-8"?>
<FindBugsFilter>
     <Match>
        <Bug category="I18N" />
     </Match>
</FindBugsFilter>

问题

为什么clean verify site会报告2个警告,但clean verify findbugs:check会返回14个错误?我不明白其中的区别。

为什么我的site报告警告I18NDM_DEFAULT_ENCODING

1 个答案:

答案 0 :(得分:3)

findbugs-maven-plugin插件需要在 BOTH <reporting><plugins/></reporting><build><plugins/></build>部分进行配置。已经尝试过各种各样的方法,我能够让它工作的唯一方法是复制findbugs-maven-plugin配置。

因此,请尝试在pom.xml中添加以下内容:

<build>
 <plugins>
  <plugin>
   <groupId>org.codehaus.mojo</groupId>
   <artifactId>findbugs-maven-plugin</artifactId>
   <version>2.5.2</version>
   <configuration>
      <failOnError>false</failOnError>
      <threshold>High</threshold>
      <effort>Default</effort>
      <xmlOutput>true</xmlOutput>
      <skip>${skipFindBugs}</skip>
      <xmlOutputDirectory>target/reports/findbugs</xmlOutputDirectory>
      <excludeFilterFile>
          src/main/resources/findbugs-exclude-filters.xml
      </excludeFilterFile>
   </configuration>
  </plugin>
 </plugins>
</build>

请注意,它是您在<reporting/>块内发布的内容的剪切和粘贴。我没有测试过上面的内容。我只是想在这里给你一个大致的想法。

Reporting section of the POM Reference表示:

  

更微妙的区别在于,报告元素下的插件配置可用作构建插件配置,但情况恰恰相反(构建插件配置不会影响报告插件)。

我已经能够使用Maven 3.0.5完成这项工作。我还没有在3.1.0上试过它。