分享一下使用高版本(3.10.x)sonar-maven-plugin 进行构建时需要注意的两个问题

SonarScanner用来执行源代码分析。这个独立的程序在CI/CD主机上运行,并将分析结果发送到SonarQube服务器,由其计算分析结果,计算质量门并生成报告。我们可以通过命令行和maven构建两种方式来执行SonarScanner的源码分析。关于SonarScanner更多的内容可以参考文章:

一文带您了解SonarScanner的原理和使用方法(包括maven构建和命令行执行)_sonar-scanner-CSDN博客

本人最近在maven项目中使用高版本的sonar-maven-plugin 进行构建时遇到了两个问题,在这里跟大家分享一下!

问题一:本地jdk与 sonar-maven-plugin 需要的jdk不一致

[ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.10.0.2594:sonar (default-cli) on project PerformaceDemo: Execution default-cli of goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.10.0.2594:sonar failed: An API incompatibility was encountered while executing org.sonarsource.scanner.maven:sonar-maven-plugin:3.10.0.2594:sonar: java.lang.UnsupportedClassVersionError: org/sonar/batch/bootstrapper/EnvironmentInformation has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0

如果我们使用最新版本的sonar-maven-plugin3.10.x那么就要确保你本地的jdk最低版本是jdk17

问题二:maven构建时JAVA_HOME变量一定指定的是JDK目录而不能是JRE

因为本人PC没有使用jdk17,所以想投机取巧,JAVA_HOME直接指定了sonarqube-10.7.0.96327\jres目录下的jre

导致错误如下:

 Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.11.0:compile (default-compile) on project PerformaceDemo: Compilation failure
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?

所以要想使用高版本的sonar-maven-plugin,乖乖的下载jdk17!

maven pom.xml配置SonarScanner

<build>
  <pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.sonarsource.scanner.maven</groupId>
        <artifactId>sonar-maven-plugin</artifactId>
        <version>yourPluginVersion</version>
      </plugin>
    </plugins>
  </pluginManagement>
</build>

maven构建命令

基础命令

mvn clean verify sonar:sonar

配置sonarqube相关信息

mvn clean verify sonar:sonar

-Dsonar.projectKey=KevinDemo1

-Dsonar.host.url=http://localhost:9000

-Dsonar.token=sqp_173f67919bbf5cbbaa6f728e0f02c2c750752a4a

参数解释

sonar.projectKey   sonar中项目的key

sonar.host.url        sonarqube 服务器地址

sonar.token           项目令牌

我的每一篇文章都希望帮助读者解决实际工作中遇到的问题!如果文章帮到了您,劳烦点赞、收藏、转发!您的鼓励是我不断更新文章最大的动力!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

测试开发Kevin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值