Spring Boot+Maven构建Jar包失败:release版本17不支持
解决Maven编译报错:release version 17 not supported
错误根源
- 本地Maven调用的JDK版本低于项目指定的Java 17/21
- 手动指定的Maven Compiler插件版本(3.12.1)太老,不支持高版本Java
- pom.xml里的compiler插件配置存在拼写错误(大写的
<Relase>应为小写<release>)
修复步骤
1. 修正配置拼写错误
找到pom.xml中maven-compiler-plugin的configuration块,把<Relase>改成<release>:
<configuration> <release>17</release> <target>17</target> </configuration>
2. 让Spring Boot管理Compiler插件版本(推荐)
Spring Boot的parent pom已经内置了适配的插件版本,手动指定的3.12.1版本不兼容Java17+。直接删掉插件里的<version>3.12.1</version>这一行即可:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <!-- 删除这行:<version>3.12.1</version> --> <configuration> <release>17</release> <target>17</target> </configuration> </plugin>
3. 确保本地JDK版本匹配
- 打开终端执行
java -version,确认输出的版本是17或21 - 如果版本不对,安装对应版本的JDK,然后配置Maven使用它:
- Linux/Mac:在项目根目录创建
.mavenrc文件,写入export JAVA_HOME=/你的JDK17安装路径 - Windows:创建
maven.bat,写入set JAVA_HOME=你的JDK17安装路径 - 或者在IDE里直接把项目JDK和Maven Runner的JDK都改成17/21
- Linux/Mac:在项目根目录创建
4. 简化Java版本配置(可选)
Spring Boot的java.version属性会自动同步编译相关的三个参数,所以可以只保留这一个属性,删掉其他冗余配置:
<properties> <java.version>17</java.version> </properties>
验证修复
重新执行mvn clean package,正常情况下就能完成Jar包构建了。
内容的提问来源于stack exchange,提问作者Juan David Polo
相关产品推荐
相关产品推荐

