我正在尝试生成一个coverage.xml,以便我可以在Hudson的Cobertura插件中引用它,但是文件没有被创建。
我已将以下内容添加到我的POM中
<reporting>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<formats>
<format>html</format>
<format>xml</format>
</formats>
</configuration>
</plugin>
</plugins>
</reporting>
在运行mvn cobertura:cobertura后,HTML网站按照预期在** \ target \ site \ cobertura生成,但找不到coverage.xml。我错过了什么/误解了什么?
我正在运行Maven 3.0.3
答案 0 :(得分:27)
我把插件放在构建部分,它可以工作:
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<formats>
<format>html</format>
<format>xml</format>
</formats>
</configuration>
</plugin>
</plugins>
</build>
报告部分及其与插件部分的差异在here中有所描述。我不知道这是maven [3.0.4]还是cobertura-plugin问题。
答案 1 :(得分:27)
将以下行添加到您的应用程序目标:(在jenkins中配置应用程序部分)
cobertura:cobertura -Dcobertura.report.format=xml
pom.xml更改:
<reporting>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.6</version>
<configuration>
<formats>
<format>html</format>
<format>xml</format>
</formats>
</configuration>
</plugin>
</plugins>
答案 2 :(得分:7)
对于Maven插件和Hudson以及它的插件之间的联系,我仍然相当新手 - 所以这无论如何都不是一个明智的答案,但对于这个问题,谷歌的帮助很少 - 所以希望如此它可以帮助将来的某个人。
在花了几个小时修改设置之后,我发现coverage.xml似乎不是在本地构建的。
这是让它发挥作用的组合:
答案 3 :(得分:2)
我的目标是让Cobertura在没有额外命令行参数的情况下运行gcc version 4.9.2 (Debian 4.9.2-10)
。以下是为我提供技巧的神奇XML,其中HTML和XML都是在mvn test
中生成的。
/target/site/cobertura
答案 4 :(得分:1)
我遇到了同样的问题,但现在已经解决了:
只需在maven命令后添加-Dcobertura.report.format=xml
即可。它应该工作
答案 5 :(得分:0)
使用2.6插件我有同样的问题。
我发现当我指定这两种类型时,我只得到了html。
<formats>
<format>html</format>
<format>xml</format>
</formats>
但是当我只指定xml时,我会得到一个xml报告。
<formats>
<format>xml</format>
</formats>
这可能是插件中的一个错误。
另一位用户建议创建两个执行。我试过没有成功(意思是我得到了html,但没有成功)。
答案 6 :(得分:0)
将您的POM文件更新为
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.7</version>
<configuration>
<formats>
<format>html</format>
<format>xml</format>
</formats>
</configuration>
</plugin>
</plugins>
这对我有用:可能的原因是它是最新版本的cobertura-maven-plugin(2.7)
答案 7 :(得分:0)
将Cobertura整合到Maven有两种方法。