Java 7 で cobertura を使用すると問題が発生したため、 Jacoco を試しています。私のプロジェクトには、親プロジェクトpom.xml
とサブ プロジェクトがあります。あるプロジェクトでは、Spring を使用していくつかの統合テストを実行しています。そのため、このプロジェクトの にこのプラグインがありますpom.xml
。
<plugin>
<version>2.12.4</version>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<!-- -XX:-UseSplitVerifier is for java 7 -->
<argLine>
-XX:-UseSplitVerifier
-javaagent:${settings.localRepository}/org/springframework/spring-instrument/${spring.version}/spring-instrument-${spring.version}.jar
</argLine>
</configuration>
</plugin>
私はJava 7を使用しているので、このプラグインを親に設定しましたpom.xml
:
<plugin>
<version>2.5.1</version>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
<optimize>true</optimize>
<debug>true</debug>
<showDeprecation>true</showDeprecation>
<showWarnings>true</showWarnings>
<encoding>utf8</encoding>
</configuration>
</plugin>
今、私がmvn clean install
すべてのプロジェクトを使用しているとき、/target
フォルダにこのファイルがあります: jacoco.exec
; しかし、を使用するこのプロジェクトには、spring-instrument
このファイルがありません。問題は、Jacocoasm
がofを使用したいのにspring-instrument
失敗することだと思います (ただし、私が正しいかどうかはわかりません)。
ジャココ版は0.6.3.201306030806
。
この場合、Jacocoが計測に失敗するのはなぜですか? どうすればこれを克服できますか?
コードを 1.6 にコンパイルするようにmaven-compiler-pluginを構成できれば、 maven-surefire-pluginプラグインは必要なくなるのではないかと考えました。それは理にかなっていますか?