如何从Sonar获取代码覆盖组件(Emma)以忽略父模块?

时间:2013-09-06 16:04:05

标签: maven sonarqube emma

我有一个多模块项目,我正在使用Sonar + Emma(代码覆盖)/ Arquillian进行分析。如果我跑

mvn clean install
mvn sonar:sonar 

分别在每个模块上,一切正常。然而,当我从主父模块运行它时它失败了,因为emma不知何故试图在它上面获得覆盖,并且由于某种原因它失败了。父看起来像:

<groupId>com.parent</groupId>
<artifactId>parent-build</artifactId>
..
<packaging>pom</packaging>
...
<modules>
    <module>Module A</module>
    <module>Module B</module>
    <module>Module C</module>
</modules>
...
mvn clean install -Dskiptests=true 
mvn sonar:sonar

当声纳进入“父级构建”并尝试使用emma进行覆盖时,会抛出此异常:

Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.1:sonar
(default-cli) on     project parent-build: Can not execute Sonar
... 
root cause is
IllegalStateException: source file data view requested for metadata 
with incomplete    SourceFile debug info at
com.vladium.emma.report.ReportDataModel.getView(ReportDataModel.java:49)

我试过让声纳跳过那个模块,但它的统计数据需要根模块。我需要以某种方式让sonar-maven-plugin在使用emma时停止使用emma。

我该怎样做才能让它发挥作用?

0 个答案:

没有答案