JavaFx项目降级到JDK11后构建失败提示release version 15不支持
错误根因
java: error: release version 15 not supported是编译阶段报错,核心原因是你降级了项目使用的JDK版本,但项目编译配置中仍然指定目标发布版本为15,当前使用的JDK11不支持生成JDK15的字节码文件,就会触发该错误。你之前调整的VM选项是运行阶段的JavaFX依赖参数,和该编译错误无关。
排查解决步骤
1. 修正IDE全局与项目级别的编译配置(以IDEA为例,是最常见的遗漏配置点)
- 打开
File > Project Structure > Project页,确认两项配置:- SDK 选择本地已安装的JDK11
- Language level 选择
11 - Local variable syntax for lambda parameters
- 切换到
Project Structure > Modules页,逐个检查所有模块的Language level,全部调整为JDK11对应级别 - 打开
Settings > Build, Execution, Deployment > Compiler > Java Compiler页:- 确认Project bytecode version设置为11
- 下方Per-module bytecode version列表中,所有模块的Target bytecode版本也全部修改为11
2. 修正Maven构建脚本配置
你的项目为Maven管理,打开pom.xml找到maven-compiler-plugin编译插件配置,修改为JDK11对应参数:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <!-- 统一指定源码、目标字节码、发布版本都为JDK11 --> <source>11</source> <target>11</target> <release>11</release> </configuration> </plugin>
修改完成后执行Maven的Reload Project操作刷新配置。
3. 清理缓存重新构建
如果修改完所有配置后仍然报错,执行File > Invalidate Caches...,勾选清理文件系统缓存和本地历史,重启IDE后重新构建项目即可解决问题。
内容的提问来源于stack exchange,提问作者Elkhan Isayev
相关产品推荐
相关产品推荐

