Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SonarQube分析显示代码覆盖率为0_Java_Gradle_Azure Devops_Sonarqube_Sonarscanner - Fatal编程技术网

Java SonarQube分析显示代码覆盖率为0

Java SonarQube分析显示代码覆盖率为0,java,gradle,azure-devops,sonarqube,sonarscanner,Java,Gradle,Azure Devops,Sonarqube,Sonarscanner,这是一个基于gradle build工具的SpringBoot项目,我正在使用AzureDevOps任务进行SonarQube分析 以下是我在任务中添加的属性: sonar.java.binaries=build\classes sonar.jacoco.reportPaths=build\jacoco\test.exec sonar.language=java sonar.tests=src\test\java sonar.verbose=false sonar.test.inclusions

这是一个基于
gradle build
工具的
SpringBoot
项目,我正在使用
AzureDevOps
任务进行
SonarQube
分析

以下是我在任务中添加的属性:

sonar.java.binaries=build\classes
sonar.jacoco.reportPaths=build\jacoco\test.exec
sonar.language=java
sonar.tests=src\test\java
sonar.verbose=false
sonar.test.inclusions=**\test\**
几天前它工作得很好,今天它突然开始失败,错误是0%的代码覆盖率

当我比较成功构建和失败构建的日志时,我在失败构建中发现了这条消息

信息:传感器[java]

信息:“sonar.jacoco.ReportPath”和 已设置“sonar.coverage.jacoco.xmlReportPath”。 因此,“sonar.jacoco.reportpath”不推荐使用,仅 将考虑“sonar.coverage.jacoco.xmlReportPath”

但是我还没有配置任何特定于
xmlreportpath
的东西,所以不知道为什么它开始失败

gradle version- 5.4.1
SonarQube Scanner version- 3.3.0.1492
SonarQube server version- 7.3.0

感谢您的帮助。

经过几天的努力和网上搜索,我终于发现了我在gradle任务中犯的错误。 我启用了
html
xml
这两个报告,这两个报告都导致了提到的问题

xml.enabled
设置为
false
,它就会像以前一样开始工作

jacocoTestReport{
    additionalSourceDirs.from = files(sourceSets.main.allJava.srcDirs)
    reports {
        html.enabled true
        xml.enabled false
        csv.enabled false
        html.destination file("build/reports/jacoco/html")
    }
    executionData.from = files('build/jacoco/test.exec')    
}
但我仍然不确定它第一次是如何工作的,因为正如我前面所说的,我没有对代码或管道进行任何更改


我看到Sonarqube也在处理同一条消息。

“突然它开始失败”应该发生了一些事情。可能有人升级了插件或更改了生成管道?生成管道没有更改。我已经验证了这一点,并检查了SonarQube服务器版本历史记录,最近没有升级。上次使用此管道是在7月11日,它运行良好,但今天它完全失败了。如果改用sonar.coverage.jacoco.XMLReportPath,结果会是什么?尝试使用XMLReportPath,它解决了警告消息,但结果仍然相同。完全没有代码覆盖
sonar.java.binaries=build\classes sonar.language=java sonar.tests=src\test\java sonar.verbose=false sonar.test.includes=***\test\**sonar.coverage.jacoco.xmlReportPaths=build\reports\jacoco\test\jacoctestreport.xml