39

我们将 Java 版本从 8 升级到 11,但我遇到了 getter/setter 方法的编译错误,我在其中使用 Lombok 的 Getter 和 Setter Annotations 实现了 POJO 类。

有没有办法使用 Lombok 的@Data注解来提供 getter 和 setter 而无需在 Java 11 中实现它们?

目前,我面临以下错误:

无法找到 getStoreName()

wherestoreName被声明为类中的全局变量,在类上方带有 @Data Lombok 注释。

4

2 回答 2

44

TL;博士

将 Lombok 升级为依赖项和 IDE 插件(IntelliJNetBeansEclipse)并在 IDE 设置中启用注释处理。


最新版本的 Lombok 和/或 IntelliJ 插件完美支持 Java 11。

https://projectlombok.org/changelog

v1.18.4(2018 年 10 月 30 日)

  • ...
  • 平台:对 lombok 的 JDK10/11 支持进行了许多改进。
  • ...

https://github.com/mplushnikov/lombok-intellij-plugin

提供对 lombok 注释的支持,以使用 IntelliJ IDEA 编写出色的 Java 代码。

最新版本 (0.23) 发布于 17.12.2018

...

  • 经过测试并支持 IntelliJ 版本:2016.2、2016.3、2017.X、2018.X

...

Lombok 项目依赖

确保您已将 Lombok 依赖项添加到您的项目中。此插件不会自动为您添加。

请注意:建议使用最新版本的 Lombok 依赖 项,但不保证引入的所有功能 都可用。有关详细信息,请参阅 Lombok 更改日志。

...

因此,请将您的 lombok/插件版本更新为最新版本。应该像魅力一样工作。

于 2018-12-20T15:59:14.780 回答
2

对于 eclipse 用户,您必须将 lombok 安装到 eclipse 中。请按照这里的说明 https://projectlombok.org/setup/eclipse

于 2019-02-08T14:09:52.280 回答