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

Java15设置语言级别为预览版后仍不支持records 求编译解决方案

问题报错信息

"java: records are not supported in -source 15 (use -source 16 or higher to enable records)"

报错截图

Records是Java 16正式转正的语言特性,Java 15版本中属于预览功能,仅修改IDE语言级别为15(Preview)无法直接使用,需要额外配置参数,或者直接升级JDK版本使用正式特性,具体解决方案如下:

方案1:升级到Java 16及以上版本(推荐,无预览特性限制)

该方案可以彻底规避预览功能的额外配置要求,优先选择长期支持的JDK 17版本更佳:

  • 下载并安装JDK 16或更高版本
  • 同步修改所有相关配置:
    • 若使用IDEA等IDE:进入文件 → 项目结构,将项目SDK、项目语言级别、对应模块的语言级别全部修改为16或更高
    • 若使用Maven构建:修改pom.xml中maven-compiler-plugin的配置,将source、target参数调整为对应版本,示例配置如下:
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.8.1</version>
    <configuration>
        <source>17</source>
        <target>17</target>
    </configuration>
</plugin>
  • 若使用Gradle构建:修改build.gradle中的Java版本配置:
java {
    sourceCompatibility = JavaVersion.VERSION_17
    targetCompatibility = JavaVersion.VERSION_17
}

方案2:保留JDK 15,启用预览功能参数

如果暂时无法升级JDK版本,需要为编译、测试、运行全流程添加预览功能启用参数:

  • IDE配置(以IDEA为例):
    1. 进入设置 → 构建、执行、部署 → 编译器 → Java编译器,在对应模块的「附加命令行参数」栏添加--enable-preview
    2. 打开代码对应的运行配置,在VM选项中同样添加--enable-preview
  • Maven配置:修改pom.xml的编译插件配置,同步添加预览参数:
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.8.1</version>
    <configuration>
        <source>15</source>
        <target>15</target>
        <compilerArgs>--enable-preview</compilerArgs>
    </configuration>
</plugin>
  • Gradle配置:在build.gradle中添加全流程预览参数:
tasks.withType(JavaCompile) {
    options.compilerArgs += '--enable-preview'
}
tasks.withType(Test) {
    jvmArgs += '--enable-preview'
}
tasks.withType(JavaExec) {
    jvmArgs += '--enable-preview'
}

注意事项

  • 如果项目使用Maven或Gradle管理,构建工具的配置优先级高于IDE的语言级别配置,仅修改IDE语言级别不会生效,必须同步修改构建工具的对应配置
  • 所有配置修改完成后,建议清空项目编译缓存,重启IDE后重新构建,避免旧缓存导致报错仍然存在

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 04:45:03