Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.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
Sonarqube 通过Jenkins执行分析时,Java覆盖率分析结果不正确_Sonarqube_Sonarqube Scan - Fatal编程技术网

Sonarqube 通过Jenkins执行分析时,Java覆盖率分析结果不正确

Sonarqube 通过Jenkins执行分析时,Java覆盖率分析结果不正确,sonarqube,sonarqube-scan,Sonarqube,Sonarqube Scan,我们使用Sonar maven插件在Jenkins环境中为多模块Java项目运行Sonar覆盖率分析。我们注意到,声纳仪表板上显示的覆盖率分析结果对于少数源文件是不正确的。从我的调查中得到的一个奇怪的发现是,当我在本地开发笔记本电脑上运行分析时,覆盖率分析是正确的(Sonar dashboard更新了这些源文件的正确覆盖率)。以前有人遇到过类似的问题吗 澄清: 覆盖率的差异主要在0%和非0%覆盖率之间。但我也看到了几个例子,其中非零覆盖率和非零覆盖率之间存在差异。此外,这些差异对应于来自随机包的

我们使用Sonar maven插件在Jenkins环境中为多模块Java项目运行Sonar覆盖率分析。我们注意到,声纳仪表板上显示的覆盖率分析结果对于少数源文件是不正确的。从我的调查中得到的一个奇怪的发现是,当我在本地开发笔记本电脑上运行分析时,覆盖率分析是正确的(Sonar dashboard更新了这些源文件的正确覆盖率)。以前有人遇到过类似的问题吗

澄清:

覆盖率的差异主要在0%和非0%覆盖率之间。但我也看到了几个例子,其中非零覆盖率和非零覆盖率之间存在差异。此外,这些差异对应于来自随机包的源文件,而不是任何特定包。我们在各种声纳项目中也遇到了这个问题(因此不仅仅是我们声纳项目中的一个特定问题)


另外,当我将jacocoexec数据文件导入Eclipse(使用eclemma插件)时,我确实看到了正确的覆盖率(非零)。此外,与EclEmma插件解释的结果相比,本地运行分析时的覆盖率结果也可能不正确。因此,现在看来,无论我从哪个环境运行分析,分析结果都可能不正确(假设EclEmma的分析结果是正确的)

不确定为什么覆盖率结果只对少数源文件是错误的。我比较了客户端控制台日志和服务器端(Sonar服务器)日志,但没有发现任何线索(没有错误迹象,两次分析都成功)。我还比较了batch report文件夹中coverage-xxx.pb文件的大小,但也没有发现任何差异

提前感谢任何对我如何进一步解决此问题提出建议的人!请告诉我有关执行环境的任何其他信息是否有帮助

谢谢, Thinh

声纳环境: -sonar maven插件版本:3.3.0.603 -SonarQube版本:5.6.6 -sonar.java.source:1.8 -sonar.java.target:1.8 -sonar.sourceEncoding:UTF-8

SonarQube插件: -Findbugs 3.5(Findbugs) -SonarJava 4.11.0.10660(java) -Git 1.2(scmgit)

詹金斯环境: -Jenkins版本:CloudBees Jenkins Enterprise 2.46.3.2-rolling -Maven版本:3.1.1 -Java版本:OpenJDK 64位服务器1.8.0_141 -从操作系统:64位,CentOS(Red Hat 4.4.7-11),Linux版本 2.6.32-504.12.2.el6.x86_64

本地笔记本电脑环境: -Maven版本:3.1.1 -Java版本:Java热点(TM)64位服务器虚拟机 (构建1.8.0_60-b27)
-OS:macOS Sierra,10.12.5版

请回答您的问题,以便更全面地描述您所看到的差异。是0和非零之间的差异,还是其他原因?另外,这些文件是集中在同一个包中还是随机分散在整个项目中?谢谢你的回复,G.安。我已经更新了问题,包括这些澄清——覆盖率的差异主要在0%和非0%覆盖率之间。但我也看到了几个例子,其中非零覆盖率和非零覆盖率之间存在差异。此外,这些差异对应于来自随机包的源文件,而不是任何特定包。我们在各种Sonar项目中也遇到了这个问题(因此不仅仅是我们的Sonar项目中的一个特定问题)。此外,当我将Jacoco exec数据文件导入Eclipse(使用eclemma插件)时,我确实看到了正确的覆盖率(非零)。进一步检查了数据——本地运行分析时的覆盖率结果与ECLEMA插件解释的结果相比也可能不正确)。因此,现在看来,无论我从哪个环境运行分析,分析结果都可能是不正确的(假设EclEmma的分析结果是正确的)。请您的问题更全面地描述您看到的差异。是0和非零之间的差异,还是其他原因?另外,这些文件是集中在同一个包中还是随机分散在整个项目中?谢谢你的回复,G.安。我已经更新了问题,包括这些澄清——覆盖率的差异主要在0%和非0%覆盖率之间。但我也看到了几个例子,其中非零覆盖率和非零覆盖率之间存在差异。此外,这些差异对应于来自随机包的源文件,而不是任何特定包。我们在各种Sonar项目中也遇到了这个问题(因此不仅仅是我们的Sonar项目中的一个特定问题)。此外,当我将Jacoco exec数据文件导入Eclipse(使用eclemma插件)时,我确实看到了正确的覆盖率(非零)。进一步检查了数据——本地运行分析时的覆盖率结果与ECLEMA插件解释的结果相比也可能不正确)。因此,现在看来,无论我从哪个环境运行分析,分析结果都可能不正确(假设EclEmma的分析结果是正确的)。