Mac中IntelliJ运行Java13 REST API遇编译错误,如何解决?
解决IntelliJ中Java 13项目编译报错:underscores in literals are not supported in -source 1.6
这个问题我太熟悉了!虽然你已经安装了Java 13,但IntelliJ当前给项目配置的编译源版本还是1.6——而数字字面量中使用下划线是Java 7才引入的特性,所以才会触发这个老版本的限制。下面是Mac上IntelliJ的具体修复步骤:
一、修改项目结构的SDK与语言级别
- 打开IntelliJ,顶部菜单栏选择
File->Project Structure(或者直接用快捷键Cmd + ;快速打开) - 在左侧面板选择
Project:- 将
Project SDK下拉选项改为你已安装的Java 13 - 将
Project language level设置为13 (Preview) - Switch expressions, text blocks(如果没有这个选项,选至少7 - Diamonds, ARM, multi-catch etc.,但推荐直接匹配Java 13的级别)
- 将
- 再切换到左侧的
Modules,检查每个模块的Language level,同样改成和项目一致的级别,避免模块单独拖后腿
二、调整编译器的Java版本设置
- 顶部菜单栏选择
File->Settings(快捷键Cmd + ,) - 左侧导航到
Build, Execution, Deployment->Compiler->Java Compiler - 在
Project bytecode version下拉菜单选择13 - 下方模块列表中,每个模块的
Target bytecode version也统一改成13
三、检查构建工具配置(如果用Maven/Gradle)
如果你的项目用了Maven或Gradle,还要确保构建工具的版本配置和Java 13匹配,不然IntelliJ可能会被构建工具的配置覆盖:
Maven项目
打开项目根目录的 pom.xml,添加或修改以下配置:
<properties> <maven.compiler.source>13</maven.compiler.source> <maven.compiler.target>13</maven.compiler.target> </properties>
改完后点击IntelliJ右上角的「刷新」按钮,让Maven同步配置。
Gradle项目
打开项目根目录的 build.gradle(Kotlin项目是 build.gradle.kts),添加或修改Java版本配置:
plugins { id 'java' } java { sourceCompatibility = JavaVersion.VERSION_13 targetCompatibility = JavaVersion.VERSION_13 }
同样点击右上角的「刷新」按钮同步Gradle配置。
完成以上步骤后,重启IntelliJ或者点击工具栏的「Build Project」重新编译,这个报错应该就消失啦!
内容的提问来源于stack exchange,提问作者Tator
相关产品推荐
相关产品推荐

