Ant でソナーを構成しましたが、問題なく動作するようになりました。プロジェクトに jacoco 単体テストを統合する作業を進めています。これを実現するために、次の構成を行いました。
<property name="project.test" location="${project.path}/test" />
<property name="project.target" location="${project.path}/target" />
<property name="project.reports" location="${project.target}/reports" />
<property name="project.reports.juint" location="${project.reports}/junit" />
<property name="sonar.tests" value="${project.test}" />
<property name="sonar.sourceEncoding" value="UTF-8" />
<property name="sonar.surefire.reportsPath" location="${reports.junit.xml.dir}" />
<property name="sonar.dynamicAnalysis" value="reuseReports" />
<property name="sonar.core.codeCoveragePlugin" value="jacoco" />
<property name="sonar.jacoco.reportPath" value="target/jacoco.exec" />
<property name="sonar.core.codeCoveragePlugin" value="jacoco" />
ここで、「project.path」は、SRC および BUILD (クラス ファイルを含む) ディレクトリがあるメイン プロジェクト フォルダーです。
<target name="test" depends="compile">
<taskdef name="junit" classname="org.apache.tools.ant.taskdefs.optional.junit.JUnitTask">
<classpath>
<path refid="compile.classpath"/>
</classpath>
</taskdef>
<taskdef uri="antlib:org.jacoco.ant" resource="org/jacoco/ant/antlib.xml">
</taskdef>
<jacoco:coverage destfile="target/jacoco.exec" xmlns:jacoco="antlib:org.jacoco.ant">
<junit fork="yes" dir="${basedir}" failureProperty="test.failed">
<classpath location="${project.build}" />
<classpath refid="compile.classpath" />
<formatter type="xml" />
<batchtest todir="${reports.juint.xml.dir}">
<fileset dir="${project.test}">
</fileset>
</batchtest>
</junit>
</jacoco:coverage>
</target>
しかし残念ながら、build.xml を実行するたびに次のエラーが表示され、jacoco 以外はすべて動作します。jacocoantを使用してコードの単体テストを実行する必要があるので、誰か助けてください。
[sonar:sonar] 16:13:00.882 INFO p.PhasesTimeProfiler - Sensor JaCoCoSensor...
[sonar:sonar] 16:13:00.956 INFO o.s.p.j.JaCoCoPlugin - Project coverage is set to 0% as no JaCoCo execution data has been dumped: /archive/target/reports/junit/jacoco.exec
[sonar:sonar] 16:13:01.868 INFO p.PhasesTimeProfiler - Sensor JaCoCoSensor done: 986 ms
さらに情報が必要な場合はお知らせください