2009-06-18 5 views
0

私はカバレッジレポートを生成するためにmaven coberturaプラグインを使用していますが、何らかの理由で計測器の目標が無限ループに陥ってしまいます。maven cobertura generated-classes

私のクラスディレクトリ(binという名前)には、無限ループが発生し、named generated-classes/cobertura/generated-classes/cobertura ...という名前のディレクトリが作成されます。 coberturaディレクトリのそれぞれの中には、私のインストルメントクラスがあります。なぜこのようなことが起こるのか?

答えて

1

pomファイルを投稿できますか?または少なくとも関連するセクション?

<build> 
    <pluginManagement> 
     <plugins> 
...snip...    
      <!-- cobertura code coverage plugin --> 
      <plugin> 
       <groupId>org.codehaus.mojo</groupId> 
       <artifactId>cobertura-maven-plugin</artifactId> 
       <version>2.2</version> 
       <configuration> 
        <formats> 
         <format>xml</format> 
        </formats> 
       </configuration> 
      </plugin> 
      <!-- end cobertura code coverage plugin --> 

     </plugins> 
    </pluginManagement> 
</build> 

<reporting> 
<plugins> 
    <plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>cobertura-maven-plugin</artifactId> 
     <version>2.2</version> 
     <configuration> 
      <formats> 
       <format>xml</format> 
      </formats> 
     </configuration> 
    </plugin> 
</plugins> 
</reporting> 

また、ソースの標準のmavenディレクトリレイアウトに従っていますか?あなたのソースファイルに関してあなたのpomファイルはどこにありますか?また、あなたのディレクトリレイアウトはどのように見えますか?

+0

こんにちは。私のPOMセクションはあなたのように見えます。 mavenはcoberturaタスクを実行しますが、cobertura:instrumentでハングアップします。私のディレクトリ構造は標準のmavenレイアウトではなく、特に出力ディレクトリ(クラスではなくbin)です。私はcoberturaのどこかでそれを指定する必要がありますか? –

+0

私の問題は、私のデフォルトの出力ディレクトリはbinで、target/bin(または何らかの第2レベル)ではないと思います。プラグインは、実際に計測されたクラスと同じレベルにgenerated-classesディレクトリを配置しているため、再帰的なループに陥ります。それを更新して問題を修正するかどうかを確認する必要があります。 –

+0

必須ではありませんが、mavenの仕様に従ってプロジェクトをセットアップすることをお勧めします:http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html - 私は実現していますすべてのプロジェクトで可能ではないかもしれませんが、考慮する必要があります。 ディレクトリ編成がもう少しイントロダクション的だと思ったので、私はmavenを使って初めて試みましたが、「コンベンションオーバーコンフィギュレーション」のアイデアに飛び込んだら、 。私は周りを掘り下げ、私が見つけることができる他のものを見ます。 – matt

関連する問題