我之前一直使用Lombok没有遇到任何问题,但今天我的Intellij自动更新到最新版本2020.3 11月30日版本后,任何Lombok注解都不再被识别。
尽管我的Java项目在命令行中仍能构建,但在项目中完全忽略了注解,并且无法手动运行任何单元测试。
我已尝试的方法:
- 重新安装Lombok插件
- 重启Intellij
- 重启电脑
- 使缓存失效
- 从github上重新克隆项目
- 检查是否启用了注解处理器
以上所有尝试均未起作用。可能发生了什么?有什么我可以尝试做的吗?
我之前一直使用Lombok没有遇到任何问题,但今天我的Intellij自动更新到最新版本2020.3 11月30日版本后,任何Lombok注解都不再被识别。
尽管我的Java项目在命令行中仍能构建,但在项目中完全忽略了注解,并且无法手动运行任何单元测试。
我已尝试的方法:
以上所有尝试均未起作用。可能发生了什么?有什么我可以尝试做的吗?
总结一下,前往IntelliJ首选项 (Cmd + ,)
首选项 -> 构建、执行、部署 -> 编译器
搜索以下选项:
用户本地构建进程 VM 选项(覆盖共享选项):
并添加此值:
-Djps.track.ap.dependencies=false
在他们修复实际问题之前,这里提供一种解决方法:
https://youtrack.jetbrains.com/issue/IDEA-250718#focus=Comments-27-4418347.0-0
(请参见IJ修复的屏幕截图)
-Djps.track.ap.dependencies=false
选项。您能否告诉我,在2020.3版本中,如果不手动设置此选项,确切的Lombok插件版本是什么?谢谢。 - Andrey我通过在build.gradle中精确使用以下代码,成功将其应用于Gradle项目(Intellij 2020.3.2):
annotationProcessor 'org.projectlombok:lombok:1.18.18'
implementation 'org.projectlombok:lombok:1.18.18'
我认为重要的一点是将其声明为“annotationProcessor”,以便在gradle构建中包含它。 我甚至不需要在“用户本地构建过程VM选项”中进行任何操作,甚至在Intellij设置中也没有选中“启用注释处理”。 所以我猜想gradle正在处理Lombok生成,而不是IDEA。 但至少经过数小时的尝试修复IntelliJ后,它最终可以正常工作。
似乎在2020.3版本的社区版中未捆绑lombok。修复预计在2020.3.1版本中推出。
抱歉,大家,我必须确认,上次社区构建中忘记正确添加它了。请参见Jetbrains Yourtrack上的错误: https://youtrack.jetbrains.com/issue/IDEA-257311
Ultimate 2020.3版本按预期默认包含lombok插件。
从2020.3版本开始,lombok插件应该包含在IntelliJ分发(Ultimate和Community)中。出现了一些问题,我们正在努力解决。
修复计划在IntelliJ Community 2020.3.1版本中推出
更新
已发布2020.3.1社区版,现在默认包含lombok插件
这是 lombok 的问题,每当 IntelliJ 提供升级时,lombok 就会开始抱怨。IntelliJ 2020.2 也发生了同样的情况。
现在有两个解决方案: