Lombok与Java 8有关

我刚刚升级到Intellij构思14和Java 8,我也想到将我的项目升级到Java版本8,开始使用一些新function。 但是在正确配置Intellij以使用Java 8后,我仍然遇到了Lombok的问题。 看起来Java 8和@Getter之间存在冲突,因为现在我的@Getter@Setter注释不再起作用了。

lombok的版本是1.10.8。 有什么建议么?

简短回答:

Lombok支持Java 8,并且自版本1.12.2起已经完成。


答案很长

Lombok支持Java 8,并且自版本1。12。2(2013年10月10日)起根据更改日志进行了支持 :

PLATFORM:初始JDK8支持,不影响对JDK6和7的现有支持。问题#451。 虽然lombok现在可以在JDK8 / javac8和netbeans 7.4及更高版本上运行,但lombok还没有(还)支持java8引入的新语言function,例如lambda表达式。 将来的版本中将添加对这些function的支持。

从那时起,已经实现了进一步的Java 8支持:

  • v1.12.6(2014年3月6日)

    PLATFORM:对 kepler中eclipse的alpha支持的初始JDK8支持。 问题#597

  • v1.14.0“分支眼镜蛇”(2014年5月27日)

    BUGFIX:使用带有-target 1.8的JDK8的javac的@SneakyThrows会导致编译后错误。 问题#655
    BUGFIX:关于改进对JDK8的支持的主要工作,包括javac和eclipse。

  • v1.14.6(2014年9月2日)

    BUGFIX:从JDK8版本1.8.0_20开始,val的使用将会中断。 问题#731

换句话说,最新版本的Lombok应该能够很好地使用Java 8,而从版本1.12.2开始,没有新语言function的Java 8代码应该可以工作。


编辑 :正如Roel所指出的,目前(2015年1月8日)有一个开放的bug ,指出一个特定的Lombokfunction( val )停止工作1.14.8。

此错误已于2015年11月16日关闭。