2013-09-27 11 views
10

私はJavaソースとScalaテストソースを持つMavenプロジェクトを持っています。 verifyステージの間にJacocoを使用してコードカバレッジを生成します。私は、またはmvn verify sonar:sonarを実行して、実行を追加することにより、検証フェーズでソナーの目標のいずれかを実行しようとすると、私はソナーによって2回追加されたテストディレクトリで終わる:で失敗の分析、その結果Sonar Maven Plugin:テストソースディレクトリをどのように除外しますか?

[INFO] [11:15:34.756] Test directories: 
    [INFO] [11:15:34.756] /Users/xxx/Documents/workspace/misc/xxx/src/test/scala 
    [INFO] [11:15:34.756] /Users/xxx/Documents/workspace/misc/xxx/src/test/scala/../scala 

次のエラー:

Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.1:sonar (default-cli) on project kv-mapper: Can not execute SonarQube analysis: Unable to read and import the source file : '/Users/xxxx/Documents/workspace/misc/xxx/src/test/scala/../scala/xxx/xxxxx/xxx/xxx/xxxxx/xxxxxx.java' with the charset : 'UTF-8'. Duplicate source for resource 

私のpom.xml(Sonar用)は次のようになります。

<plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>sonar-maven-plugin</artifactId> 
     <version>${sonar.plugin.version}</version> 
     <!-- no default executions --> 
     <configuration> 
      <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin> 
      <sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis> 
      <sonar.language>java</sonar.language> 
      <sonar.jacoco.itReportPath> 
       ${basedir}/target/jacoco.exec 
      </sonar.jacoco.itReportPath> 
      <sonar.exclusions> 
       **/test/* 
      </sonar.exclusions> 
     </configuration> 
    </plugin> 

どのように私はソナーを設定します、次のいずれか

  • は完全にテスト/ Scalaのディレクトリを除外しますか? または
  • 重複したディレクトリを削除しますか?

答えて

3

SonarQube分析を実行する前に、フォルダを削除する手順を追加します。 または、テストファイルに除外を設定します。

+0

の使用すべきです。あなたが見ているかもしれないサンプルポームがありますか? – Siddhu

+1

テストファイル(ソースコードではありません)に除外を設定する必要があります:sonar.tests.exclusionsプロパティ –

14

sonar.test.exclusionsを参照してくださいすることはsonar.exclusionsパラメータで(上記参照)の代わりに私がやったのpom.xmlに正確に何であるsonar.exclusions

<sonar.test.exclusions> 
    **/test/* 
</sonar.test.exclusions> 
+2

本当にありがとう、リンクではなく、答えを投稿してください。 – JamesQMurphy

関連する問題