Java 声纳 Cobertura 插件未找到coverage.xml 文件

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/24134595/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-14 10:22:46  来源:igfitidea点击:

Sonar Cobertura Plugin not finding coverage.xml file

javamavenjenkinscobertura

提问by user3472205

I have a multi-module maven project in Jenkins1.545.I am using Sonarqubeversion 4.2.I have installed coberturaplugin version 1.6.1 and javaplugin version 2.2.1 in Sonarqube.I have successfully generated coverage.xmlfile at location- /target/site/cobertura/coverage.xmlfor each module using maven command- "cobertura:cobertura -Dcobertura.report.format=xml"For sonar,i have set the maven build option as sonar:sonarwith properties as below:

我在Jenkins1.545 中有一个多模块 maven 项目。我使用的是4.2Sonarqube版。我已经安装了cobertura1.6.1java版插件和2.2.1版插件Sonarqube。我已经coverage.xml在位置成功生成了文件 -/target/site/cobertura/coverage.xml使用 maven 命令为每个模块 -"cobertura:cobertura -Dcobertura.report.format=xml"对于声纳,我已将 maven 构建选项设置为sonar:sonar具有如下属性:

sonar.dynamicAnalysis=reuseReports
sonar.junit.reportsPath=target/site
sonar.java.coveragePlugin=cobertura
sonar.cobertura.reportPath=/target/site/cobertura/coverage.xml

I can see coverage.xmlfile when I browse the workspace of my project in Jenkinsbut the plugin keeps saying that it can't find it.I get the following message in console output of jenkins-

coverage.xml在浏览项目的工作区时可以看到文件,Jenkins但插件一直说找不到它。我在 jenkins 的控制台输出中收到以下消息-

Execute Findbugs 2.0.3 done: 48446 ms
Sensor FindbugsSensor done: 48800 ms
Sensor CoberturaSensor...
Cobertura report not found at /target/site/cobertura/coverage.xml
Sensor CoberturaSensor done: 4 ms
Sensor CpdSensor...

Any help is appreciated.Thanks in advance.

任何帮助表示赞赏。提前致谢。

回答by user2806909

I had the same issue (SonarQube 4.4., Cobertura 1.6.2, Jenkins + maven + java8) and I just finally figured out solution for the problem:

我遇到了同样的问题(SonarQube 4.4.Cobertura 1.6.2Jenkins + maven + java8),我终于找到了解决问题的方法:

sonar.cobertura.reportPath=target/site/cobertura/coverage.xml

Notice the missing "/" from the beginning of the path!

注意路径开头缺少的“/”!

It actually tried to search from absolute root directory in my Linux server.

它实际上试图从我的 Linux 服务器中的绝对根目录进行搜索。