我在和Maven一起经营Sonarqube
我用way安装了它。使用brew
,我安装了mysql
和sonar
。
当我运行时,我得到了7个关键错误,但88个测试的代码覆盖率为零x1c 0d1x
当我用IntelliJ的工具运行它时,我得到以下结果。(不是零!)
这是我直接检查Jacoco结果的时候。单位:$base_direc/target/jacoco/index.html
与sonar-scannerx 1c 3d 1x运行时相同的代码
这是我的maven配置
我的~/.m2/settings.xml
编辑1:我在日志中找到了这个。
编辑2:我已经编辑了~/.m2/settings.xml
添加
<properties>
<sonar.host.url>http://localhost:9000/</sonar.host.url>
</properties>
编辑/usr/local/Cellar/sonarqube/6.3.1/libexec/conf/sonar.properties
添加sonar.host.url=http://localhost:9000/
编辑/usr/local/etc/sonar-scanner.properties
添加-sonar.host.url=http://localhost:9000/
运行的应用程序在所有上述方式和结果是相同的,即,我可以看到雅科结果,但不是在声纳。
有没有可能,如果发现错误,声纳拒绝做代码覆盖?!
4条答案
按热度按时间yzxexxkh1#
我找到解决办法了-
我包含的maven插件将Jacoco的destfile和destile配置为
${basedir}/target/coverage-reports/jacoco-unit.exec
但默认情况下声纳读数为
${basedir}/target/jacoco.exec
我在http://localhost:9000/settings?类别=java参考号:Sonar Code Coverage
找不到工作引用链接。这里是辅助链接:Baeldung Sonar and jacoco
suzh9iv82#
我通过以下步骤解决了这个问题:
1.开始,我在pom.xml中添加了配置。
2.在sonarqube属性文件中添加了以下部分。
vddsk6oq3#
我也有同样的问题,我会帮你解决的。这里的第一件事是通过你的pom文件走。
在pom文件中,您使用了jacoco-ut.exec您必须在Jenkins中执行SonarQube扫描仪时使用以下属性
请记住pom中的jacoco.exec和Jenkins中执行SonarQube Scanner的属性名称
z0qdvdin4#
对我来说,问题是:
报告在预打包阶段生成。现在我们更新了Pull Request maven阶段。
mvn -B clean test
到mvn -B clean package
。另外,最新的SONAR更喜欢XML报告。您可以通过以下方式在maven pom中指定路径:
<sonar.coverage.jacoco.xmlReportPaths>target/site/jacoco/jacoco.xml</sonar.coverage.jacoco.xmlReportPaths>
在sonar项目属性文件中: