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

构建成功。

相关推荐
Flittly3 天前
【AgentScope Java新手村系列】(16)从RAG到多路检索
java·spring boot·spring
人活一口气4 天前
从JVM调优到MCP协议:Java全栈技术体系深度总结与企业级架构实践
java·spring boot
Java陈序员4 天前
企业级!一个基于 Java 开发的开源 AI 应用开发平台!
spring boot·agent·mcp
杨运交5 天前
[041][公共模块]分布式唯一ID生成器设计与实现:一款灵活可扩展的雪花算法框架
spring boot
XIAOHEZIcode5 天前
Ubuntu 终端美化全栈指南:Bash 到 Kitty 踩坑实录
linux·ubuntu·命令行
Flittly6 天前
【AgentScope Java新手村系列】(14)人机交互
java·spring boot·spring
Flynt7 天前
从Spring Boot 4.0升到4.1,我在Maven和gRPC上栽了跟头
java·spring boot·后端
掉鱼的猫8 天前
Spring Boot → Solon 注解迁移实战指南:一张对照表说清楚
java·spring boot
人活一口气8 天前
Spring Boot与AIGC的完美结合:从零搭建智能内容生成平台
java·spring boot·aigc
java小白小11 天前
SpringBoot(01): 初识SpringBoot,从Spring的痛点说起
spring boot