Lombok与Java 8有关

pau*_*aul 6 java spring intellij-idea lombok java-8

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

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

Mag*_*lex 9

简短回答:

Lombok支持Java 8,自版本1.12.2起就支持了Java 8.


答案很长

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

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

从那时起,已经实现了进一步的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开始,没有新语言功能的Java 8代码应该可以工作.


编辑:正如Roel指出的那样,目前(2015年1月8日)有一个开放的错误,指出一个特定的Lombok功能(val)停止工作1.14.8.

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