我们将Java版本从8升级到11但是我得到了getter / setter方法的编译错误,其中我使用Lombok的Getter和Setter Annotations实现了POJO类。
有没有办法使用Lombok的@Data
注释,它提供getter和setter而不在Java 11中实现它们?
目前,我面临的错误是:
找不到getStoreName()
其中storeName
被声明为类中的全局变量,其中@Data Lombok注释位于类之上。
TL; DR
将Lombok升级为dependency并作为IDE插件(IntelliJ,NetBeans,Eclipse)升级并在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 /插件版本更新为最新版本。应该像魅力一样工作。
对于eclipse用户,你必须将lombok安装到eclipse中。请按照https://projectlombok.org/setup/eclipse的说明进行操作