无法在 Java 11 中使用 Lombok

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

有没有办法使用龙目岛的注释,它提供了getter和setter,而无需在Java 11中实现它们?@Data

目前,我遇到了错误:

无法找到 getStoreName()

其中 被声明为类中的全局变量,并在类上方有@Data龙目岛注释。storeName


答案 1

TL;DR

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


最新版本的龙目岛和/或IntelliJ插件完全支持Java 11。

https://projectlombok.org/changelog

v1.18.4(2018 年 10 月 30 日)

  • ...
  • 平台:龙目岛JDK10/11支持的许多改进。
  • ...

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

为龙目岛注释提供支持,以使用IntelliJ IDEA编写出色的Java代码。

最后一个版本 (0.23) 发布于 17.12.2018

...

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

...

龙目岛项目依赖性

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

请注意:建议使用最新版本的龙目岛依赖项,但不能保证引入的所有功能都可用。请参阅龙目岛更改日志了解更多详情。

...

因此,请将您的龙目岛/插件版本更新为最新版本。应该像吊饰一样工作。


答案 2

对于eclipse用户,你必须在eclipse中安装龙目岛。请按照此处的说明进行操作 https://projectlombok.org/setup/eclipse


推荐