【发布时间】:2017-10-24 00:20:03
【问题描述】:
我一直在尝试为包含 java 模块(核心)和 javascript 模块(web)的 Maven 项目设置声纳扫描仪。
我可以在本地 sonarqube 服务器或 javascript 上扫描并显示 java 覆盖率数据,但不能同时进行。
这是我的 sonar-project.properties 文件,其中 sonar.modules 属性可以具有 4 个值之一:
### below: select just one of the 4 possible values for sonar.modules
sonar.modules = core --> get java coverage data
sonar.modules = web --> get javascript coverage data
sonar.modules = core,web --> get only java coverage data
sonar.modules = web,core --> get only java coverage data
sonar.sources=src
# javascript coverage report
web.sonar.exclusions=src/main/webapp/js/lib/**/*.js
web.sonar.javascript.lcov.reportPath = test-output/coverage/lcov.info
# java coverage report
core.sonar.java.binaries = target/classes
core.sonar.java.libraries = ../web/target/scheduler-web-3.5.0-SNAPSHOT/WEB-INF/lib
core.sonar.java.test.libraries = ../web/target/scheduler-web-3.5.0-SNAPSHOT/WEB-INF/lib
core.sonar.jacoco.reportPath = target/jacoco.exec
core.sonar.junit.reportsPath = target/surefire-reports
core.sonar.jacoco.reportMissing.force.zero = true
我的解决方案的关键,基于以下接受的答案:
顶级 POM 没有变化。
添加到 web/pom.xml:
<properties> <sonar.javascript.lcov.reportPath>test-output/coverage/lcov.info</sonar.javascript.lcov.reportPath> </properties>
基本上声纳不知道在哪里可以找到我的 lcov 文件。
【问题讨论】:
标签: javascript java sonarqube code-coverage