我刚刚升级到 Intellij idea 14 和 Java 8,我想将我的项目也升级到 Java 版本 8,以开始使用一些新功能。但是在正确配置 Intellij 以使用 Java 8 之后,我仍然遇到 Lombok 的问题。看起来 Java 8 和 lombok 之间存在冲突,因为现在我的 @Getter
和 @Setter
注释不再起作用。
lombok的版本是1.10.8。有什么建议吗?
最佳答案
简答:
Lombok 支持 Java 8,并且从 1.12.2 版本开始支持。
长答案
Lombok 支持 Java 8,并且根据 changelog 从版本 1.12.2(2013 年 10 月 10 日)开始支持:
PLATFORM: Initial JDK8 support, without affecting existing support for JDK6 and 7. Issue #451. While lombok will now work on JDK8 / javac8, and netbeans 7.4 and up, lombok does not (yet) support new language features introduced with java8, such as lambda expressions. Support for these features will be added in a future version.
从那时起,已经实现了对 Java 8 的进一步支持:
v1.12.6(2014 年 3 月 6 日)
PLATFORM: Initial JDK8 support for eclipse's alpha support in kepler. Issue #597
v1.14.0“Branching Cobra”(2014 年 5 月 27 日)
BUGFIX: Usage of @SneakyThrows with a javac from JDK8 with -target 1.8 would result in a post compiler error. Issue #655
BUGFIX: Major work on improving support for JDK8, both for javac and eclipse.v1.14.6(2014 年 9 月 2 日)
BUGFIX: Usage of val would break starting with JDK8 release 1.8.0_20. Issue #731
换句话说,最新版本的 Lombok 应该能够很好地与 Java 8 一起工作,并且从版本 1.12.2 开始,没有新语言特性的 Java 8 代码应该可以工作。
编辑:作为Roel指出,目前(2015 年 1 月 8 日)有一个 open bug指定一项特定的 Lombok 功能 (val
) 在 1.14.8 中停止工作。
此错误已于 2015 年 11 月 16 日关闭。
关于java - Java 8 的 Lombok 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27824973/