JDK1.8源码用SonarCloud做JUnit分析失败,Azure Pipeline执行报错
解决Azure Pipeline中Maven Sonar插件Java版本不兼容问题
错误原因
org.sonarsource.scanner.maven:sonar-maven-plugin:3.10.0.2594 要求运行环境为Java 11(对应类文件版本55.0),但你的Azure Pipeline当前使用的是Java 8(仅支持最高类文件版本52.0),因此触发java.lang.UnsupportedClassVersionError API不兼容错误,导致SonarCloud分析无法完成。
解决方案
方案一:升级Pipeline中的Java版本到11及以上
在Azure Pipeline的Maven任务前添加Java版本配置步骤,指定使用Java 11:
- task: JavaToolInstaller@0 inputs: versionSpec: '11' jdkArchitectureOption: 'x64' jdkSourceOption: 'PreInstalled'
确保后续执行mvn verify的Maven任务使用该版本的Java运行。
方案二:降级Sonar Maven插件到兼容Java 8的版本
如果无法升级Java环境,可将Sonar插件版本降级到支持Java 8的最新稳定版(3.9.1.2184),在项目pom.xml中明确指定插件版本:
<build> <plugins> <plugin> <groupId>org.sonarsource.scanner.maven</groupId> <artifactId>sonar-maven-plugin</artifactId> <version>3.9.1.2184</version> </plugin> </plugins> </build>
验证
修改配置后重新运行Azure Pipeline的mvn verify任务,确认SonarCloud代码分析能正常完成。
内容的提问来源于stack exchange,提问作者baskaran
相关产品推荐
相关产品推荐

