对于SonarQube 6.0的代码覆盖,JaCoCo maven插件的集成存在很大问题.
我有一个多模块Maven项目让我们说:
master |--core |--web |--process
在主pom.xml中,我设置了一个类似的报告配置文件:
reporting org.jacoco jacoco-maven-plugin pre-unit-test prepare-agent ${sonar.jacoco.reportPath} sonarUnitTestArgLine post-unit-test test report ${sonar.jacoco.reportPath} ${jacoco.ut.outputdir} org.apache.maven.plugins maven-surefire-plugin once ${sonarUnitTestArgLine} -XX:MaxPermSize=512M -Xms512m -Xmx512m
在孩子们中,我通过添加一些排除项来重载配置:
**/model/**/* **/model/**/* reporting org.jacoco jacoco-maven-plugin **/model/**/*.class
这里的想法是删除代码覆盖的Pojo(我们也为其他类型的类做...)
当我运行mvn命令行时:
mvn clean generate-sources install verify -P reporting -fn
我的所有报告都很好,但在声纳中,没有考虑到驱逐...
你能帮我解决这个问题吗?
经过大量的研究,我找到了解决这个问题的方法,我发布了答案以帮助人们解决同样的问题:
在主模块中
**/patternA/**/*, **/patternB/**/*
在子模块中
report org.jacoco jacoco-maven-plugin **/patternA/**/*.class
在主人pom