我已經在我的項目pom.xml中配置FindBugs的(和CheckStyle的): 聲納不使用excludeFilterFile從項目的pom.xml
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>2.3</version>
<configuration>
<xmlOutput>true</xmlOutput>
<threshold>Normal</threshold>
<effort>Max</effort>
<debug>false</debug>
<excludeFilterFile>${basedir}/src/test/config/findbugs-exclude.xml</excludeFilterFile>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.4</version>
<configuration>
<suppressionsLocation>${basedir}/src/test/config/checkstyle-surpressions.xml</suppressionsLocation>
<testFailureIgnore>false</testFailureIgnore>
</configuration>
</plugin>
<!--.......-->
</plugins>
這就像一個魅力。 'mvn site'產生正確使用指定的excludeFileterFile的finbugs報告。
問題是當我嘗試使用聲納插件。 ('mvn sonar:sonar') 聲吶不使用上面指定的排除過濾器。 (但它會正確使用checkstyle抑制文件)。
運行'mvn sonar:sonar'時控制檯提供的信息:
警告:備用用戶設置文件:C:\ Users \ rgi.m2 \ settings.xml無效。使用默認路徑。
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
....
[INFO] [findbugs:findbugs {execution: default-cli}]
[INFO] Using source root:
[INFO] <...edit...>\target\classes
[INFO] Using test source root:
[INFO] <...edit...>\target\test-classes
[INFO] Using maximum effort.
[INFO] Adding Source Directory: <...edit...>\src\main\java
[INFO] Using low threshold.
[INFO] Using FindBugs Version: 1.3.8
[INFO] Using low threshold.
[INFO] Using low threshold.
[INFO] Using the xdoc format
[INFO] Using maximum effort.
[INFO] Using low threshold.
[INFO] Using low threshold.
[INFO] Debugging is Off
[INFO] Using bug include filter <...edit...>\target\sonar\findbugs-include.xml
[INFO] Using bug exclude filter <...edit...>\target\sonar\findbugs-exclude.xml
[INFO] Printing Errors
.....
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
而且聲納的pom.xml在目標/聲納目錄:
<plugin>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.2</version>
<dependencies>
<dependency>
<groupId>org.codehaus.sonar.runtime.rules-extensions</groupId>
<artifactId>parent</artifactId>
<version>20100210071723</version>
<type>pom</type>
</dependency>
</dependencies>
<configuration>
<suppressionsLocation>{...edit...}/src/test/config/checkstyle-surpressions.xml</suppressionsLocation>
<testFailureIgnore>false</testFailureIgnore>
<outputFileFormat>xml</outputFileFormat>
<consoleOutput>false</consoleOutput>
<enableRSS>false</enableRSS>
<skip>false</skip>
<failsOnError>false</failsOnError>
<configLocation>{...edit...}\target\sonar\checkstyle.xml</configLocation>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>2.0.1</version>
<configuration>
<xmlOutput>true</xmlOutput>
<threshold>Low</threshold>
<effort>Max</effort>
<debug>false</debug>
<excludeFilterFile>{...edit...}\target\sonar\findbugs-exclude.xml</excludeFilterFile>
<classFilesDirectory>{...edit...}\target\classes</classFilesDirectory>
<skip>false</skip>
<includeFilterFile>{...edit...}\target\sonar\findbugs-include.xml</includeFilterFile>
</configuration>
</plugin>
注意,在聲納的pom.xml referes項目中的配置文件CHECKSTYLE,但FindBugs的排除文件聲納虛擬空文件。
任何人都知道如何獲得聲納使用finbugs排除在項目pom.xml中定義的文件?
Thx提前
/羅伊
我可以在聲納服務器上添加單個過濾器(不參考過濾器文件)。但這樣做不好,因爲我必須在多個地點管理誤報。 – Roy 2010-02-11 10:07:36