首页 > 解决方案 > 詹金斯声纳扫描仪 vs Maven 声纳:声纳目标

问题描述

我尝试使用标准 maven sonar:sonar 目标并使用 post step>> Execute SonarQube 扫描仪在 Jenkins 上使用 java 项目运行声纳分析。我使用的 Maven 目标是。

clean org.jacoco:jacoco-maven-plugin:0.7.8:prepare-agent package org.jacoco:jacoco-maven-plugin:0.7.8:report sonar:sonar -Dmaven.test.failure.ignore=true

对于 SonarQube 扫描仪,我使用了以下 maven 目标

clean org.jacoco:jacoco-maven-plugin:0.7.8:prepare-agent package org.jacoco:jacoco-maven-plugin:0.7.8:report -Dmaven.test.failure.ignore=true

在 Post 步骤中,我添加了 Execute SonarQube 扫描仪步骤。

使用 maven sonar:sonar 目标,我得到了 60% 的覆盖率,而使用 post 步骤,我只得到了 49%。无法弄清楚差异的原因。

SonarQube 版本 - 7.7 Sonar Scanner 版本 - 3.3.0 Jenkins 版本 - 2.164.3 Maven 版本 - 3.6.1

标签: javamavenjenkinssonarqubesonarqube-scan

解决方案


我已经提到两次运行的声纳源目录不同。对于 maven,它是从 pom.xml 中选择的,它是 src/main,对于声纳扫描仪,它在作业中配置为 src。改了之后,问题就解决了。


推荐阅读