Lombok 无法与 IntelliJ 2020.3 社区版配合使用

问题描述 投票:0回答:10

我使用 Lombok 没有任何问题,直到今天,我的 Intellij 自动更新到最新版本 2020.3 11 月 30 日构建。之后,任何 Lombok 注释都不再被识别。

我的 Java 项目仍然使用 Maven 从命令行构建,但注释在项目中完全被忽略,无法手动运行任何单元测试。

到目前为止我尝试过的事情:

  • 重新安装Lombok插件
  • 重新启动Intellij
  • 重新启动笔记本电脑
  • 使缓存失效
  • 从 github 重新克隆项目
  • 检查注释处理器是否已启用

没有任何作用。可能发生了什么?知道我可以尝试做什么吗?

java intellij-idea lombok
10个回答
80
投票

总结一下,请转到 IntelliJ 首选项 (Cmd + ,)

Preferences ->  Build, Execution, Deployment -> Compiler

搜索此选项:

User-local build process VM options (overrides Shared options):

并添加此值:

-Djps.track.ap.dependencies=false


11
投票

解决方法就在这里,直到他们解决实际问题:

https://youtrack.jetbrains.com/issue/IDEA-250718#focus=Comments-27-4418347.0-0

(请参阅 IJ 修复的屏幕截图)


4
投票

我在 2020.2 和插件中使用 Lombok 很好,但在 2020.3.1 中它应该(而且确实)包含在内

...但是我遇到了编译错误,例如

Cannot resolve symbol 'log'
(使用
@Slf4j
时)

我解决了从项目中删除.idea并再次打开它的问题...

编辑:今天我又遇到了新的结帐(我们在 Git 中没有 .idea),我也遇到了类似的问题。不确定这是否是一个修复,但我检查了插件(上面的屏幕截图中没有),它开始工作后,但我从 cmd (Maven) 构建了它并尝试了其他一些东西,所以我不确定是什么真正的修复


3
投票

我的问题与我的 lombok 版本有关

在将我的 IntelliJ 升级到 2020.03 之前,我的 lombok 版本是

1.18.10
和 lombok 插件
0.32-EAP

将我的 lombok 依赖项升级到

1.18.16
后,它再次开始工作,没有任何问题。看起来社区版还没有捆绑该插件。

如果有必要,我不这样做,但当我阅读 Lombok 插件的 README repo

时,我的第一个行动是卸载插件

3
投票

我设法让它在 gradle 项目上运行(Intellij 2020.3.2) 通过在 build.gradle 中使用它:

annotationProcessor 'org.projectlombok:lombok:1.18.18'
implementation 'org.projectlombok:lombok:1.18.18'

我认为重要的一点是将其声明为“annotationProcessor”以将其包含在 gradle 构建中。 我什至不必搞乱“用户本地构建过程虚拟机选项”,甚至在 Intellij 设置中也没有勾选“启用注释处理”。 所以我猜 gradle 正在处理 Lombok 一代,而不是 IDEA。 但至少在花费数小时尝试修复 IntelliJ 之后它终于可以工作了。


1
投票

请检查:Lombok plugin settings您并非无意中禁用它。


1
投票

2020.3版本的社区版似乎没有捆绑lombok。预计2020.3.1版本修复。

来自Lombok插件GitHub问题

抱歉各位,我必须确认一下,忘记正确添加了 进入最后一个社区建设。查看 Jetbrains Yourtrack 上的错误: https://youtrack.jetbrains.com/issue/IDEA-257311

Ultimate 2020.3 版本包含预期的 lombok 插件 默认。

lombok 插件应该包含在两个 IntelliJ 发行版中 (终极版和社区)从 2020.3 版本开始。有东西得到 错误,我们正在努力修复。

现已计划在 IntelliJ 社区版本 2020.3.1 中进行修复

更新

2020.3.1 社区发布,现已默认包含lombok插件


0
投票

这就是 lombok 的问题,每当 IntelliJ 提供升级时 lombok 就会开始哭泣。 IntelliJ 2020.2 也发生了同样的情况

现在有2个解决方案

  1. 等待lombok开发者提供兼容IntelliJ 2020.3的升级
  2. 将 IntelliJ 降级到以前的工作版本。对我来说,IntelliJ 2020.2 工作得很好。

0
投票

提供的解决方案不适用于我的 IntelliJ,所以我添加了 Lombok 插件 ( Lombok 插件通过 Market Place 安装。) 到我的社区版本 (2023.3.4) 并添加了 Maven 依赖项,但未指定任何版本规范。它对我来说非常有效。

<dependency>
  <groupId>org.projectlombok</groupId>
  <artifactId>lombok</artifactId>
  <scope>provided</scope>
</dependency>

我没有启用注释处理器。


-1
投票

安装 Lombok 插件并启用注释处理器应该可以满足需要。如果问题仍然存在,那么我认为您应该报告错误并查看他们的回复。

© www.soinside.com 2019 - 2024. All rights reserved.