2012-12-30 12 views
6

私はMaven 3を使用しています。私のJavaプロジェクトでは、pomファイルに次のようなソースの場所が1つ含まれています。Sonar Serverで複数のソースの場所を設定するにはどうすればいいですか?

<build> 
     <sourceDirectory>src/main/java</sourceDirectory> 
     <testSourceDirectory>src/test/java</testSourceDirectory> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <configuration> 
        <source>${JDK}</source> 
        <target>${JDK}</target> 
        <excludes> 
         <!--<exclude>**/**/api/notification/**/INotificationProfileManager.java</exclude> --> 
        </excludes> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-ejb-plugin</artifactId> 
       <configuration> 
        <version>1.3</version> 
        <archive> 
         <manifest> 
          <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries> 
          <addDefaultImplementationEntries>true</addDefaultImplementationEntries> 
         </manifest> 
         <manifestEntries> 
          <Class-Path>./MubarsherTradeClasspath-1.0.jar</Class-Path> 
          <Specification-Vendor>Mubasher</Specification-Vendor> 
          <Implementation-Vendor>Mubasher</Implementation-Vendor> 
          <Sealed>false</Sealed> 
         </manifestEntries> 
        </archive> 
       </configuration> 
      </plugin> 

コンパイル後、生成されたファイルは.../generate/src/main/java/...パスにあります。 Sonar解析が行われると、生成されたこれらのクラス自体が../src/main/java/...のパスを持つかどうかがチェックされ、解析が失敗します。

だから私はソナーから分析するために複数のソースパスを定義する方法を知る必要がありますか?

+0

あなたもソナーエラースタックトレースを提供してもらえますか? –

答えて

8

これを行うにはソナーランナーを使用できます。これはもっと便利です。

2つのモジュールを宣言できます。ソースディレクトリごとに1つ。次に、プロパティファイルを宣言して実行を設定する必要があります。

このファイルには、このことができます。この

sonar.projectKey=myproject 
sonar.projectName=myprojectname 
sonar.projectVersion=version 
sonar.sourceEncoding=UTF-8 


sonar.modules=normalsource-module, generated-module 


normalsource-module.sonar.projectName=Normal Sources Module 
normalsource-module.sonar.language=java 
normalsource-module.sonar.sources=src/main/java 
normalsource-module.sonar.binaries=target/classes 
normalsource-module.sonar.projectBaseDir=. 


generated-module.sonar.projectName=Generated Sources Module (Java) 
generated-module.sonar.language=java 
generated-module.sonar.sources=src/main/java 
generated-module.sonar.binaries=target/classes 
generated-module.sonar.projectBaseDir=. 

希望のようになります

よろしく

+1

50以上のモジュールでプロジェクトを分析しようとすると、これは良い方法ではありません。 mavenマルチモジュールプロジェクトにソースフォルダを追加する一般的な方法はありますか?ソナースキャナの代わりにmaven-scannerを使い続けたいと思います。 – MKorsch

+0

これに改善がありますか?私は同じ問題を抱えている – paul

関連する問題