IntelliJ IDEA搭配JDK17编译报invalid source release 7错误如何解决
问题原因
你的POM文件已经正确配置了JDK 17的编译参数,报错是因为IntelliJ IDEA本地的项目、模块级别Java版本配置没有同步,仍然使用JDK 7的语言级别,同时开启了预览特性开关导致的冲突。
修复步骤
- 调整项目全局JDK配置
- 使用快捷键
Ctrl+Alt+Shift+S打开项目结构面板,或者点击菜单栏 File → Project Structure - 在左侧选择
Project栏,SDK项选择本地安装的JDK 17 - Language level项选择
17 - Sealed classes, pattern matching for switch etc.,无需选择带Preview标识的版本,除非你明确需要使用JDK 17的预览特性
- 调整模块级别JDK配置
- 仍在项目结构面板,左侧选择
Modules栏 - 选中当前项目模块
function_programming17,右侧Language level同样设置为17,点击Apply保存配置
- 调整Java编译器配置
- 打开设置面板,路径为 File → Settings → Build, Execution, Deployment → Compiler → Java Compiler
- 将
Project bytecode version设置为17 - 下方模块列表中,确认当前项目模块对应的
Target bytecode version也为17,不需要勾选--enable-preview选项 - 点击Apply保存配置
- 同步Maven并重新编译
- 右键点击项目根目录下的
pom.xml文件,选择 Maven → Reload project 同步配置 - 点击菜单栏 Build → Rebuild Project 重新编译项目即可
可选补充配置
如果上述步骤完成后仍有报错,可以在pom.xml的maven-compiler-plugin配置中显式指定编译参数,配置如下:
<plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.0</version> <configuration> <source>17</source> <target>17</target> </configuration> </plugin>
内容的提问来源于stack exchange,提问作者Đỗ Như Vỹ
相关产品推荐
相关产品推荐

