使用jib-maven-plugin构建Docker镜像报错Unsupported class file major version 61
问题根因
报错Unsupported class file major version 61中的版本号61对应Java 17的字节码版本,你遇到的问题有两个核心触发点:
- 你当前使用的
jib-maven-plugin:2.5.2版本发布时间较早,本身不支持解析Java 17编译生成的字节码 - 你卸载Java 17安装Java 15后仍然报错,大概率是之前用Java 17编译生成的target目录残留文件未清理,或是你项目的maven wrapper(mvnw)绑定的JDK版本仍然是Java 17
解决方案
你可以按以下顺序尝试修复:
- 先清理旧编译残留再执行构建,命令如下:
./mvnw clean compile jib:dockerBuild -Djib.to.image=fullstack:v1
如果执行后仍然报错,继续下一步操作
- 升级
jib-maven-plugin版本到适配高版本Java的版本,将pom.xml中jib插件的版本号从2.5.2修改为3.3.2及以上即可,该版本已经支持Java 17及以下版本的字节码解析 - 执行
./mvnw -version检查maven wrapper绑定的JDK版本,如果输出的Java版本不是Java 15,你可以调整maven wrapper的JDK绑定,或是直接使用本地安装的mvn命令替代mvnw执行构建 - 如果你不想升级jib插件版本,请确认全局
JAVA_HOME环境变量指向Java 15安装路径,清理所有旧编译文件后重新执行构建即可
内容的提问来源于stack exchange,提问作者A.Vandijck
相关产品推荐
相关产品推荐

