The Java feature 'Flexible Constructor Bodies' is only available with source level 25 and above
@RequiredArgsConstructor 报错 The Java feature 'Flexible Constructor Bodies' is only available with source level 25 and above
突然这个错误, 好大个坑
这是 VS Code Java 扩展 1.57.0 与 Lombok 的兼容性问题,优先考虑扩展回归,而不是Java 版本配置。
我查了 Red Hat 官方 Java 扩展仓库中的一个高度相关的问题:#4521 — False positive “Flexible Constructor Bodies is only available with source level 25 and above” with Lombok,该问题于 2026 年 10 月 2 日提出,描述的就是 Lombok 构造方法触发同样的误报。
我的情况与它高度吻合:
- Maven
clean compile成功。 - Java 版本是 17。
- 错误只出现在
@RequiredArgsConstructor的类上。 - Java 扩展版本是 1.57.0。
建议先回退到 1.56.0
这是目前最值得先尝试的排查方案,不需要改项目的 Java 版本或 pom.xml。
回退步骤
1. 打开 Java 扩展详情页
在 VS Code 扩展面板中搜索 Language Support for Java(TM) by Red Hat,点击进入详情。
2. 选择旧版本
点击扩展详情页的齿轮图标,选择 Install Another Version...,然后选择 1.56.0。
3. 重启并验证
重启 VS Code,确认扩展版本显示为 1.56.0,再打开原来报错的 Java 类。
官方问题页面的反馈也确认,1.56.0 可以解决该问题;截至 2026 年 10 月 15 日,页面已有反馈称 1.58.2026101408 版本似乎已修复。如果你的扩展市场已经提供正式的 1.58.x,也可以优先升级到修复版本,而不必回退。
如果你想通过终端操作
macOS 上可以执行:
code --install-extension redhat.java@1.56.0
如果终端提示找不到 code 命令,就使用上面的扩展面板操作。
建议:先安装 1.56.0 验证,再决定是否升级到修复版本。 不需要改动 Java 17、Maven 或 Lombok 业务代码。
回退版本之后, 一切正常。
留几句话
关于这篇文章,或是你想到的另一种可能。
留言
正在读取留言…