我的jacoco配置有点奇怪,我无法弄清楚。我访问了堆栈溢出和其他平台上的多线程,尝试了很多方法,但没有解决这个问题。
我已经设置了多个模块的java代码覆盖率。这是我的项目结构
- 美国广播公司
- 模块1
- DEF
- 模块1
- 模块2
- 模块3
pom.xml
我已经为我的DEF maven项目配置了jacoco,我只是在配置我的DEF项目,这就是pom.xml包含的内容
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.8</version>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>prepare-package</phase>
<goals>
<goal>report-aggregate</goal>
</goals>
<configuration>
<outputDirectory>${project.basedir}/target/reports</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
**问题:**这里的问题是,它在每个模块1、模块2和模块3中生成代码覆盖率报告。但模块1中生成的报告不包含其自身的代码覆盖率。也就是说,它显示模块2和模块3的代码覆盖率,但不包含模块1报告。我不知道是什么问题?
**EDIT:**DEF中的模块是maven模块,它不包含任何与jacoco相关的内容。
有什么想法或建议吗?
谢谢
2条答案
按热度按时间ulydmbyx1#
再创建一个模块作为ReportAggregator,并将jacoco配置从父pom移动到ReportAggregator pom
ki1q1bka2#
感谢@Sarang的回复。它确实解决了我的问题,但之后我又遇到了一个问题,那就是我的一个模块没有生成jacoco.exec文件。经过一番调查,似乎问题出在
<argLine>
标记上。在我的一个模块中,我使用了这个标记,但不知何故,它被覆盖了。我所做的就是在此之前预先附加
argLine
,这样就解决了我的问题