Sonarqube 蚂蚁任务中jococo与声纳集成的错误获取

Sonarqube 蚂蚁任务中jococo与声纳集成的错误获取,sonarqube,jacoco,Sonarqube,Jacoco,我想使用jococco代码覆盖率进行声纳分析,我已经下载了jococo jar和代理jar,还有jococo的maven插件jar,由于我的项目是基于ant的,所以我将这些文件保存在我的类路径和ant home lib中,现在我在sonar中使用下面的标记来表示代码覆盖率,但我仍然得到了一个错误。项目覆盖率设置为0%,因为没有转储JaCoCo执行数据:,请建议如何克服此错误,请各位指教 我的构建xml包含如下所示的ant in sonar标记的以下任务 <property key="son

我想使用jococco代码覆盖率进行声纳分析,我已经下载了jococo jar和代理jar,还有jococo的maven插件jar,由于我的项目是基于ant的,所以我将这些文件保存在我的类路径和ant home lib中,现在我在sonar中使用下面的标记来表示代码覆盖率,但我仍然得到了一个错误。
项目覆盖率设置为0%,因为没有转储JaCoCo执行数据:
,请建议如何克服此错误,请各位指教

我的构建xml包含如下所示的ant in sonar标记的以下任务

<property key="sonar.java.coveragePlugin" value="jacoco" />
            <property key="sonar.junit.reportsPath" value="${ps}/test-acceptance/com/sfm/ice/oa/report"/> 
              <property key="sonar.jacoco.reportPath" value="${ps}/jacoco/jacoco-ut.exec" /> 
            <property key="sonar.jacoco.itReportPath" value="${ps}/jacoco/jacoco-it.exec" /> 
            <property key="sonar.jacoco.itReportPath" value="${ps}/jacoco/jacoco-it.exec" />

我们正在使用Ant构建成功地使用jacoco实现SonarQube的单元测试覆盖率。我无法从您的代码片段中判断您是通过Ant build执行单元测试,还是希望SonarQube为您执行单元测试。我们让Jenkins在执行SonarQube分析的Jenkins步骤之前单独执行单元测试(并收集jacoco覆盖率数据)的构建步骤

这就是说,我在您的代码片段中看到的内容与build.xml中看到的内容之间的主要区别似乎是属性名称:我们有sonar.core.codeCoveragePlugin,这不是您正在使用的

<property name="sonar.dynamicAnalysis" value="reuseReports"/>
<property name="sonar.surefire.reportsPath" value="${test.log.dir}"/>
<property name="sonar.junit.reportsPath" value="${test.log.dir}"/>
<property name="sonar.sources" value="${src.dir}" />
<property name="sonar.tests" value="${test.src.dir}" />
<property name="sonar.binaries" value="${classes.dir}" />

<property name="sonar.core.codeCoveragePlugin" value="jacoco" />
<property name="sonar.jacoco.reportPath" value="${test.log.dir}/jacoco.exec"/>

埋在我们“测试”目标中的是:

    <jacoco:coverage enabled="${my.coverage.enabled}" destfile="${test.log.dir}/jacoco.exec">
    <junit printsummary="true"
            fork="yes"
...
    </junit>
    </jacoco:coverage>
</target>

    <jacoco:coverage enabled="${my.coverage.enabled}" destfile="${test.log.dir}/jacoco.exec">
    <junit printsummary="true"
            fork="yes"
...
    </junit>
    </jacoco:coverage>
</target>