Maven Cobertura插件不会生成coverage.xml

我试图生成一个coverage.xml,以便我可以在Hudson的Cobertura插件中引用它,但该文件没有被创build。

我已经将以下内容添加到我的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

我把插件放在构build部分,它的工作原理:

 <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> 

报告部分及其与插件部分的区别在这里描述。 我不知道这是一个maven [3.0.4]还是cobertura-plugin问题。

将下面的行添加到您的应用程序目标:(在jenkins中configuration应用程序的一部分)

 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> 

我还是一个新手,Maven插件和Hudson之间的联系和插件 – 所以这不是一个明智的答案,但对于这个问题,谷歌的帮助很less,很希望它可以帮助某人在将来。

花了几个小时的修改设置后,我发现coverage.xml似乎并不是本地构build的。

这是它的工作组合:

  1. 我已经把我的版本更改为2.2在我的POM(我得到的资源没有发现从2.5.1 Apache的错误)
  2. 在我的Hudson目标中添加了cobertura:cobertura
  3. 将Cobertura覆盖模式设置为build议的** / target / site / cobertura / coverage.xml

我有同样的问题,但现在就解决了:只需在您的maven命令后添加-Dcobertura.report.format=xml 。 它应该工作

我的目标是让Cobertura运行在没有额外的命令行参数的mvn test 。 这里有一个神奇的XML,它为我提供了技巧,HTML和XML都是在/target/site/cobertura

 <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>cobertura-maven-plugin</artifactId> <version>2.7</version> <executions> <execution> <id>cobertura</id> <phase>test</phase> <goals> <goal>cobertura</goal> </goals> <configuration> <formats> <format>xml</format> <format>html</format> </formats> </configuration> </execution> </executions> </plugin> </plugins> </build> 

我有使用2.6的插件相同的问题。

我发现,当我指定这两种types,我只有HTML。

  <formats> <format>html</format> <format>xml</format> </formats> 

但是,当我只指定XML,我得到一个XML报告。

  <formats> <format>xml</format> </formats> 

这可能是一个插件中的错误。

另一个用户build议创build两个执行。 我试图没有成功(这意味着我有HTML,但不是XML)。

把你的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)

这是将Cobertura集成到Maven中的两种方法。

  1. 把Cobertura放到pom文件的build部分,然后你必须执行mvn clean cobertura:cobertura来生成报告。 如果您configuration了XML和HTML,那么您将获得这两个报告。
  2. 把Cobertura放到pom文件的报告部分,然后你必须执行mvn clean站点来生成报告。 如果您configuration了XML和HTML,那么您将获得这两个报告。 此外,你得到一个生成的网站(打开目标/网站/ index.html)与所有报告集成,如Coberture,Checkstyle,…
Interesting Posts