Ubuntu 下 Maven 构建 Spring Boot 项目报错 release version 17 not supported 解决方案

一、问题背景

在 Ubuntu 服务器上使用 Maven 构建 Spring Boot 项目时,执行:

mvn clean package -DskipTests

出现如下错误:

ERROR Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.14.1:compile

Fatal error compiling: error: release version 17 not supported


二、问题原因分析

该问题并不是 Maven 本身的问题,而是 Java 环境配置不一致导致的。

通过检查发现:

java -version

javac -version

输出结果为:

openjdk version "21.0.7"

javac 17.0.18

说明当前系统环境存在问题:

工具 实际版本
java(运行时) 21
javac(编译器) 17

而 Maven 在构建项目时,会依赖运行时 Java 环境,并结合编译器执行编译操作。当两者版本不一致时,就可能出现:

release version 17 not supported


三、解决方案

统一 Java 运行环境与编译环境为 JDK 17。

1. 查看系统可选 Java 版本

sudo update-alternatives --config java

sudo update-alternatives --config javac


2. 切换 Java 版本为 17

在 java 选项中选择:

/usr/lib/jvm/java-17-openjdk-amd64/bin/java

示例:

Selection Path


1 /usr/lib/jvm/java-17-openjdk-amd64/bin/java

输入:

1

完成切换。


3. 验证版本是否一致

java -version

javac -version

mvn -version

理想输出:

java 17

javac 17

Maven Java version: 17


4. 重新构建项目

mvn clean package -DskipTests

构建成功。

相关推荐
砚底藏山河6 小时前
python量化:行情数据回溯
java·开发语言·python·金融·maven
我是人✓6 小时前
SpringBoot项目的五种创建方式
java·spring boot·后端
陈让然6 小时前
WSL 桥接设置静态IP(快速)
linux·网络·ubuntu
古法老登瞎折腾9 小时前
大数据智能运维实战(一):机器和任务数据都有了,如何用 MCP 搭建运维助手?
大数据·运维·spring boot·spring ai·mcp
企业数字化笔记10 小时前
多租户配额怎么控制?用量口径、并发预留与超额处理的实现方法
java·数据库·spring boot
WeiXin_DZbishe12 小时前
基于springboot装修风格选择系统的设计与开发-计算机毕设【课程设计】77964
java·vue.js·spring boot·后端·python·php·课程设计
十年Java程序媛13 小时前
Java 多线程基础与锁机制详解|进程线程、锁升级、synchronized 与 Lock 对比
java·开发语言·spring boot
毕业设计70315 小时前
(免费领源码)SSM董家湾线上点餐系统04682- java、PHP、python、C#、小程序、大数据、单片机、网络工程等)
java·redis·mysql·tomcat·maven·mybatis·ssm
Q264336502316 小时前
【有源码】基于SpringBoot+Vue的居民健康体检与慢病干预管理系统-面向智慧医疗的体检预约与健康知识服务平台
java·vue.js·spring boot·mysql·毕业设计·javaweb·课程设计
撸串-研究生16 小时前
基于Spring Boot的智慧社区垃圾分类与回收系统的设计与实现【附源码】
spring boot·后端·分类·垃圾分类·社区管理