The Java feature 'Flexible Constructor Bodies' is only available with source level 25 and above

邱秋 • 2026年10月15日 • 阅读:2 • java vscode

@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 业务代码。

回退版本之后, 一切正常。

我,秦始皇,打钱!

LEAVE A NOTE

留几句话

关于这篇文章,或是你想到的另一种可能。

0 / 500

留言

正在读取留言…