1 概述

sonar-scanner解压完配置完环境变量以后就直接用jenkins调用,当推送java项目的时候就会报错

sonar-scanner Unsupported class file major version 55_JAVA

从日志中可以看到Unsupported class file major version 55,一直以为是sonar-scanner不支持JAVA代码,后来才发现是jdk版本的不一致所导致的。

注意,version 55 其实指的就是 jdk 1.11版本。

查看了一下jenkins日志

sonar-scanner Unsupported class file major version 55_JAVA_02

Jenkins启动使用的是jdk17

环境变量配置的JAVA_HOME使用的是jdk1.8,怎么就蹦出来个JAVA11.0.3

2 解决办法

sonar-scanner Unsupported class file major version 55_vim_03

查看sonar-scanner文件

vim ./sonar-scanner

sonar-scanner Unsupported class file major version 55_JAVA_04

默认参数为true则使用sonar-scanner自带的jdk

将use_embedded_jre=true注释掉

sonar-scanner Unsupported class file major version 55_vim_05

再次执行jenkins流水线

sonar-scanner Unsupported class file major version 55_JAVA_06

sonar-scanner Unsupported class file major version 55_vim_07