Apache Maven Compiler Plugin 3.11.0 Java17编译错误求助
解决Maven编译报错“invalid flag: --release”的方案
核心原因
--release 是JDK 9及以上版本javac才支持的编译参数,报错说明你的Maven进程实际使用的JDK版本低于9,或者编译配置与当前JDK版本存在冲突。
具体解决步骤
1. 确认Maven使用的JDK版本
执行以下命令查看Maven当前绑定的JDK:
mvn -v
检查输出里的Java version是否为17.0.9。如果不是,说明Maven没有使用你安装的OpenJDK 17,需要调整:
- 配置环境变量
JAVA_HOME指向OpenJDK 17的安装目录 - 确保
PATH中JAVA_HOME/bin的优先级高于其他JDK的bin目录 - 重启终端后再次执行
mvn -v验证
2. 检查并修正项目编译配置
Spring Boot 3.2.0要求JDK 17+,确保项目的pom.xml中编译配置正确,推荐使用Spring Boot父项目的默认配置,避免冲突:
<properties> <maven.compiler.source>17</maven.compiler.source> <maven.compiler.target>17</maven.compiler.target> <!-- 不要手动指定maven.compiler.release,Spring Boot父项目会自动适配 --> </properties> <!-- 若你手动配置了maven-compiler-plugin,确保插件版本与Spring Boot父项目一致,或直接移除自定义配置,使用父项目的默认配置 --> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <!-- Spring Boot 3.2.0默认绑定的maven-compiler-plugin版本是3.11.0,无需手动指定 --> </plugin> </plugins> </build>
3. 清理Maven缓存并重新构建
执行以下命令清理本地仓库缓存,避免旧的依赖或配置干扰:
mvn clean install -U
4. 检查IDE的JDK配置(如果用IDE构建)
如果你是在IDE中执行构建,需要确保IDE的项目SDK和Maven运行时JDK都设置为OpenJDK 17:
- IDEA:File → Project Structure → Project Settings → Project,设置SDK为17;Settings → Build, Execution, Deployment → Build Tools → Maven → Runner,设置JRE为17
- Eclipse:Window → Preferences → Java → Installed JREs,添加并选中OpenJDK 17;Project Properties → Java Build Path → Libraries,确保使用的是JDK 17
内容的提问来源于stack exchange,提问作者Yashdeep Singh
相关产品推荐
相关产品推荐

