You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行mvn clean package时遇release version 17不支持错误求助

解决Maven编译Spring Boot项目时「release version 17 not supported」错误

问题根源分析

你遇到的错误核心原因有两个:

  1. 当前JAVA_HOME指向的是JRE(Java Runtime Environment),编译需要JDK(Java Development Kit)中的javac编译器,JRE不包含该工具。
  2. Maven编译配置指定了JDK 17作为release版本,但实际可用的JDK环境不匹配,或Maven未正确识别到可用JDK。

具体解决步骤

1. 修正JAVA_HOME指向JDK

你的JAVA_HOME当前指向/usr/lib/jvm/jre-21-openjdk-...,这是JRE路径,必须改为JDK安装路径:

  • 查找系统已安装的JDK:执行ls /usr/lib/jvm/,找到类似java-17-openjdk-...或java-21-openjdk-...的JDK目录(目录名不含jre)。
  • 修改环境变量:
    • 临时生效:终端执行export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-xxx(替换为实际JDK路径)
    • 永久生效:编辑~/.bashrc或~/.zshrc,添加上述export命令,再执行source ~/.bashrc刷新。
  • 验证:执行javac -version,确认输出版本为17或更高(如javac 17.0.8),若提示command not found,说明路径仍不正确。

2. 检查并修正pom.xml编译配置

打开项目pom.xml,找到maven-compiler-plugin配置,确保指定的release版本与JDK兼容:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
        <!-- 用JDK17则保留17;用JDK21可改为21或保持17(JDK向下兼容) -->
        <release>17</release>
        <!-- 也可显式指定source和target替代release -->
        <!-- <source>17</source> -->
        <!-- <target>17</target> -->
    </configuration>
</plugin>

若Spring Boot版本较旧,需升级maven-compiler-plugin到支持JDK17/21的版本(如3.8.1及以上)。

3. 配置IntelliJ中Maven使用的JDK

除项目JDK配置外,确保Maven运行时用正确JDK:

  • 打开IntelliJ的Settings(快捷键Ctrl+Alt+S)
  • 进入Build, Execution, Deployment > Build Tools > Maven > Runner
  • 在JRE下拉菜单选择已安装的JDK(非JRE),如openjdk-17或openjdk-21
  • 保存配置后重新执行mvn clean package

4. 临时强制指定javac路径(应急方案)

若上述配置仍不生效,执行Maven命令时直接指定javac路径:

mvn clean package -Dmaven.compiler.executable=/usr/lib/jvm/java-17-openjdk/bin/javac

替换为你实际JDK中javac的位置。

5. 检查Maven全局配置(可选)

查看Maven的settings.xml(路径为~/.m2/settings.xml或Maven安装目录conf/settings.xml),确认无强制指定不兼容的JDK版本:

<!-- 若存在类似配置,确保jdk版本与环境匹配 -->
<profiles>
    <profile>
        <id>jdk-config</id>
        <properties>
            <maven.compiler.source>17</maven.compiler.source>
            <maven.compiler.target>17</maven.compiler.target>
        </properties>
    </profile>
</profiles>

内容的提问来源于stack exchange,提问作者LaijieJi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 03:55:54