作者:api | 来源:互联网 | 2023-05-27 21:02
我刚刚升级到Intellij构思14和Java 8,我也想到将我的项目升级到Java版本8,开始使用一些新功能.但是在正确配置Intellij以使用Java 8后,我仍然遇到了Lombok的问题.看起来Java 8和lombok之间存在冲突,因为现在我@Getter
和@Setter
注释不再起作用了.
lombok的版本是1.10.8.有什么建议?
1> Magnilex..:
简短回答:
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日关闭.