【发布时间】:2012-07-18 18:27:40
【问题描述】:
我同意这个问题被很多人问过很多次,并且已经提供了很多解决方案。然而,在参考了无数链接之后,无法在 Sonar 中显示 Emma 报告让我发疯了。下面是对我正在尝试做的事情的描述。
我的 java 项目是一个多模块 maven 项目。我们使用 EMMA 作为代码覆盖工具,使用 Jenkins 构建项目,Sonar 分析代码并使用 Jenkins 声纳插件为我们的构建作业配置 Sonar。到目前为止,这个故事很棒。当我尝试在声纳分析期间重用 Emma 生成的报告时,问题就出现了。在构建过程中,Sonar 分析日志中没有明显的错误,但是,在 Sonar 项目仪表板中,覆盖率报告为 0%。以下是我在 Jenkins 构建作业的 Sonar 配置部分提供的配置数据。
-Dsonar.core.codeCoveragePlugin=emma
-Dsonar.emma.reportPath=/target
-Dsonar.dynamicAnalysis=reuseReports
-Dsonar.surefire.reportsPath=/target/surefire-reports
声纳版本:3.0
Emma 插件版本:
emma-maven-plugin : 1.0-alpha-2
Sonar Emma Plugin :1.0.1
emma : 2.0.5312
Maven 构建会在各个模块的目标文件夹中生成 coverage.em 文件。不生成coverage.ec 文件。 Sonar 是否必须同时拥有 coverage.ec 和 coverage.em 文件?
在项目构建目录/emma文件夹下生成coverage.es,html,txt,xml文件
模块的声纳分析日志如下所示。
[INFO] [15:06:02.829] Sensor org.sonar.plugins.emma.EmmaSensor@bfc33...
[WARN] [15:06:02.844] Resource will be ignored in next Sonar versions, index is locked: com.mycompany.mypackage.tests.util.Activator
[INFO] [15:06:02.876] Sensor org.sonar.plugins.emma.EmmaSensor@bfc33 done: 47 ms
上面的日志让我觉得 Sonar 确实在使用生成的 Emma 报告做某事,但在 Sonar 项目仪表板上没有显示任何内容。
请让我知道我可能在哪里出错或需要做哪些额外的事情才能使其正常工作。
【问题讨论】:
-
只是一个友好的提醒:请感谢人们为帮助您所做的努力和accept answers您之前的问题。你没有接受一个答案。
-
from the doc 好像必须有一个.ec和一个.em文件。你在生成的 html 文件中看到了什么?