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

构建成功。

相关推荐
xiaoqiMikko2 小时前
七条 advisory 各给了一个修复版,而一次修完的那个数字一条都没写
java·spring boot
凯哥Java2 小时前
System.setProperty 的正确姿势:Spring Boot 启动类里的“缺省值“魔法
java·spring boot·后端
捷瑞电子工坊5 小时前
VSCode的配置和一些报错问题
vscode·ubuntu·c/c++·编译报错·开发环境配置·初学者教程·json配置
Dreams_l5 小时前
RabbitMQ在SpringBoot中的应用
spring boot·rabbitmq·java-rabbitmq
计算机学姐5 小时前
基于SpringBoot的高校爱心慈善管理系统
java·vue.js·spring boot·后端·spring·tomcat·mybatis
vx+_bysj68695 小时前
springboot 旅行小程序97353
spring boot·后端·小程序·旅行小程序
都叫我大帅哥5 小时前
Apache Tika 4.0 正式发布:RAG 时代文件解析的终极答案
java·spring boot·spring
大梦想家a6 小时前
基于 Spring Boot 的物流运单管理系统后端设计与实现(JWT + MyBatis-Plus + MySQL)
spring boot·mysql·mybatis
步行cgn15 小时前
YAML 的语法规则
spring boot·后端
骇客野人15 小时前
SpringBoot电商系统用户注册、登录、留存及数据埋点设计与落地实施方案
java·spring boot·后端