使用SonarQube插件运行Gradle构建时出现问题

lf3rwulv  于 2023-03-08  发布在  其他
关注(0)|答案(2)|浏览(525)
    • bounty将在3天后过期**。回答此问题可获得+50的声望奖励。Sybuser正在寻找规范答案

我尝试在Sonar报告严重警告或拦截器警告的情况下使Gradle构建失败。
我有一个带有声纳gradle插件的buildscript部分:

buildscript {
    dependencies {
        classpath 'org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:3.3'
    }
}

我在其他插件中应用sonarqube插件:

apply plugin: 'java'
apply plugin: 'org.sonarqube'

我有一个sonarqube部分的属性:

sonarqube {
    properties {
        property 'sonar.host.url', 'http://some.host:8743'
        property 'sonar.projectKey', 'some-project'
        property 'sonar.login', '${env.SONAR_TOKEN}'
        property 'sonar.qualitygate.wait', 'true'
    }
}

我在单元测试后运行sonarqube:

tasks.withType(Test) {
    finalizedBy 'sonarqube'
}

我有这样的问题:

org/sonar/batch/bootstrapper/EnvironmentInformation has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0

我的项目必须在JDK8上构建。升级到JDK11不是一个选项(这是一个供应商约束,我们不能选择要使用的JDK)。我该怎么做才能使我的构建工作?
我不愿意将构建分成两部分(1个JDK8构建用于编译和测试,1个JDK11构建仅用于Sonar),因为这意味着第一个构建可以成功,而另一个失败。
我使用的是SonarQube社区版版本9.8(内部版本号63668)。

pes8fvy9

pes8fvy91#

这是不可能的,您不能将新版本的SonarQube与旧版本的JDK一起使用。
用于运行SonarScanner的Java-SonarQube 8.9中的Java 8,SonarQube 9.0及更高版本中的Java 11
因此,如果您无法将JDK升级到JDK 11,则必须将SonarQube降级到8.9
没有办法让它与SonarQube 9.x一起工作

k4aesqcs

k4aesqcs2#

在您的情况下,我将在CI管道的单独阶段(使用不同的Java版本)使用CLI-version of SonarScanner

相关问题