Jacoco maven插件 - 合并网站在多模块项目中是错误的

时间:2014-01-19 14:57:55

标签: java maven jacoco

我正在使用jacoco maven插件版本0.6.4.201312101107

我正在我的根pom.xml上运行测试,而报告.exec文件似乎包含所有数据。

但该网站(由report目标生成)index.html仅显示运行测试的最后一个模块,尽管该网站包含所有来自所有包的数据模块。

这是我的配置:

<build>
   <plugins>
      <plugin>
         <groupId>org.jacoco</groupId>
         <artifactId>jacoco-maven-plugin</artifactId>
         <version>${jacoco.version}</version>
         <executions>
            <execution>
               <id>jacoco-initialize</id>
               <goals>
                  <goal>prepare-agent</goal>
               </goals>
               <configuration>
                  <destFile>${jacoco.report.path}/${jacoco.report.filename}</destFile>
                  <propertyName>surefireArgLine</propertyName>
               </configuration>
            </execution>
            <execution>
               <id>jacoco-site</id>
               <phase>package</phase>
               <goals>
                  <goal>report</goal>
               </goals>
               <configuration>
                  <dataFile>${jacoco.report.path}/${jacoco.report.filename}</dataFile>
                  <outputDirectory>${jacoco.output.site.path}</outputDirectory>
               </configuration>
            </execution>
         </executions>
      </plugin>
   </plugins>
</build>

我也尝试了以下(方式2):

  1. 分别为每个模块运行prepare-agent目标 append属性设置为true
  2. 然后调用report报告文件中的.exec目标。
  3. 相同的结果

    我也尝试了以下(方式3):

    1. 使用prepare-agent个文件的不同文件名分别为每个模块运行.exec目标(append属性设置为false
    2. 运行merge目标以包含所有.exec个文件。
    3. 类似的结果。区别在于报告不是在最后一个模块运行,而是在.exec报告文件名的字母顺序中排在第一位(它们都位于同一目录中,merge插件是仅配置一个fileset

      我做错了吗?或者这是一个已知的错误?

1 个答案:

答案 0 :(得分:-1)

弄清楚它为什么不起作用。 看到这篇文章:jacoco-maven-multi-module