2010-02-11 17 views
1

我已經在我的項目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提前
/羅伊

回答

0

我認爲你可以在聲吶在FindBugs的

+0

我可以在聲納服務器上添加單個過濾器(不參考過濾器文件)。但這樣做不好,因爲我必須在多個地點管理誤報。 – Roy 2010-02-11 10:07:36

1

哪個版本的聲納你使用的項目設置服務器端的配置呢?這個問題應該可以幫到你:http://jira.codehaus.org/browse/SONAR-1119

+0

嗨西蒙。 我使用Sonar 1.12,並嘗試使用-Dsonar.reuseExistingRulesConfiguration = true運行插件,但似乎沒有幫助。 – Roy 2010-02-24 10:49:15