【问题标题】:Sonarqube + Jacoco - sonar does not read report path from propertiesSonarqube + Jacoco - 声纳不会从属性中读取报告路径
【发布时间】:2018-09-15 01:49:25
【问题描述】:

声纳扫描仪 - 3.1

Java 1.7

我正在尝试配置声纳属性以从多模块项目中获得覆盖。覆盖是在路径下生成的:Module/build/jacoco/test.exec,所以我想根据文档将它添加到sonar.properties文件中:

https://docs.sonarqube.org/display/PLUG/Code+Coverage+by+Unit+Tests+for+Java+Project

sonar.java.coveragePlugin=jacoco

sonar.jacoco.reportPaths=**/build/jacoco/*.exec

即使使用绝对路径,我也在尝试不同的组合,但似乎 sonar-scanner 根本看不到这个属性,并且总是查看默认路径。我总是在日志中获得以下信息:

INFO: JaCoCoSensor: JaCoCo report not found : path\target\jacoco.exec

INFO: JaCoCoSensor: JaCoCo IT report not found: path\target\jacoco-it.exec

它确实会从文件中读取其他属性,例如登录名、密码、语言、来源等。

此外,该项目基于 Gradle。

【问题讨论】:

    标签: java sonarqube sonarqube-scan


    【解决方案1】:

    如果您使用 Gradle 构建,您应该 Analyze with Gradle。具体来说,不需要sonar-project.properties 文件。相反,您可以在 build.gradle 中配置 SonarQube 插件,其中大部分应该正常工作

    【讨论】:

    • 所以我实际上是在尝试用 gradle 来做,我已经为所有其他支持 Java 8 的项目进行了配置。它工作得很好,配置简单明了,但是当涉及到 java 中的项目时7 我在项目和不支持 java 7 的 sonarqube 之间遇到版本冲突。因此需要在 Java 7 中构建项目才能进行扫描,并且 sonarqube 需要 java 8,这给了我标准 java 错误:不支持的 major.minor 版本 52.0。据我所知,我们的服务器版本也设置为 Java 8。有什么我缺少的东西以及更好的方法吗?
    【解决方案2】:

    您使用哪个版本的声纳?如果版本低于 6.2,则必须使用 sonar.jacoco.reportPath(不带 s)。

    我不认为通配符被接受,所以如果 exec 在路径 Module/build/jacoco/test.exec 下,参数应该是:sonar.jacoco.reportPath=build/jacoco/test.exec

    【讨论】:

      猜你喜欢
      • 2012-10-21
      • 2015-12-25
      • 2017-10-30
      • 2016-09-22
      • 2015-05-22
      • 2015-10-02
      • 1970-01-01
      • 2018-10-24
      • 2016-05-15
      相关资源
      最近更新 更多