无法在Java 11中使用Lombok


问题内容

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

有没有一种方法可以使用Lombok的@Data注释提供getter和setter而不在Java 11中实现它们?

目前,我正面临错误:

找不到getStoreName()

在类中storeName被声明为全局变量的位置,在类上方带有@Data Lombok批注。


问题答案:

TL; DR

将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代码。

2018年12月17日发行的最新版本(0.23)

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

龙目岛项目依赖

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

请注意:建议使用最新版本的Lombok依赖 项,但不能保证所介绍的所有功能 均可用。 有关更多详细信息,请参见Lombok
changelog。

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