Lombok项目是否支持Java 9?

问题描述 投票:35回答:4

我在我的项目中使用了龙目岛,但我的同事不同意使用它,他的理由是(来自controversy of lombok documents

这两个项目Lombok都利用非公共API来完成他们的巫术。这意味着使用后续IDE或JDK版本可能会破坏Project Lombok的风险。

但这是一篇2010年写的非常古老的文档,也许现在已经解决了这个问题,所以我想知道Lombok是否支持Java 9并且它仍然使用非公共API:s?

lombok java-9
4个回答
45
投票

龙目岛项目有an issue tracking Java 9 support。截至2018年1月9日和版本1.16.20,Lombok正式支持Java 9.来自the changelog

  • 平台:在新的IntelliJ,Netbeans和Gradle中更好地支持jdk9。
  • BREAKING CHANGE:lombok配置密钥lombok.addJavaxGeneratedAnnotation现在默认为false而不是true。随着JDK9的发布,Oracle打破了这一注释,需要进行这一重大变革。
  • BREAKING CHANGE:lombok配置密钥lombok.anyConstructor.suppressConstructorProperties现已弃用,默认为true,即默认情况下,lombok不再自动生成@ConstructorProperties注释。现在存在新的配置密钥lombok.anyConstructor.addConstructorProperties;如果你想要旧的行为,将它设置为true。随着JDK9的发布,Oracle或多或少打破了这个注释,需要进行这种突破性的改变。
  • 开发:现在可以在JDK1.9上编译lombok。

(目前,它不是模块,所以你需要将它放在类路径上。感谢Tos' answer,它首先提到了这一点。)


4
投票

此处跟踪了Java 9的lombok的当前状态:https://github.com/rzwitserloot/lombok/issues/985

截至目前,这个bug仍然是开放的,并且(显然)正在积极地开展工作。有一个边缘释放解决了大多数问题,所以在这一点上看起来你需要做的就是等待..


3
投票

这个问题似乎从2018年1月9日开始解决:https://github.com/rzwitserloot/lombok/issues/985#issuecomment-356135454

Per Lombok版本1.16.20支持Java 9。


0
投票

自从jombok for Java 9的状态被跟踪here

有关为什么这是一个问题的提示,请参阅this博客文章,其中解释了一些“技巧”/“黑客”

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.