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

如何将maven-compiler-plugin配置为适配JDK 17

解决maven-compiler-plugin适配JDK 17的编译错误

错误核心原因

你遇到的release version 17 not supported错误,本质是Maven当前使用的JDK版本低于17。从错误栈中的java.lang.reflect.Method.invoke (Method.java:566)可以看出,实际运行Maven的是JDK 8,而JDK 8的javac编译器无法识别JDK 17的版本参数,即使升级maven-compiler-plugin版本也无法解决。

解决步骤

1. 确认Maven使用的JDK版本

执行以下命令查看Maven关联的Java版本:

mvn -v

输出中需确保Java version显示为17.x.x。若不符合,需:

  • 系统环境变量中设置JAVA_HOME指向JDK 17的安装目录
  • 终端临时指定:export JAVA_HOME=/path/to/jdk17(Linux/macOS)或set JAVA_HOME=C:\path\to\jdk17(Windows)
  • IDE配置:在IDE的Maven运行设置里,指定JRE为JDK 17

2. 正确配置maven-compiler-plugin

升级插件到支持JDK 17的版本(3.11.0及以上已支持JDK 17),并推荐使用<release>标签替代source和target,确保编译版本一致:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.11.0</version> <!-- 或更高版本如3.12.1 -->
    <configuration>
        <release>17</release> <!-- 统一指定编译版本,替代source和target -->
    </configuration>
</plugin>

3. 额外检查项

  • IDE项目配置:确保Project Structure中的Project SDK和Module SDK都设置为JDK 17
  • 全局Maven配置:检查settings.xml中是否存在<maven.compiler.source>/<maven.compiler.target>等全局属性,避免覆盖项目配置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 18:54:51