IntelliJ IDEA无法看到Lombok生成的代码

cop*_*lii 45 java intellij-idea junit4 lombok intellij-lombok-plugin

我有一个使用lombok的基于Gradle的项目.我已将此项目导入IntelliJ IDEA 14.1(使用导入外部模型导入方法).我可以在Gradle中没有问题地运行JUnit4单元测试,但IntelliJ似乎在看到Lombok生成的Getters时遇到了问题.这使我无法在IDEA中运行测试.

为了确保它不是一个设置问题,我创建了一个非常简单的项目,并确认在简单的测试项目中出现了同样的问题.

我的版本:Gradle:gradle-2.3-all通过Gradle包装器
Intellij IDEA:IU-141.713
Lombok插件:0.9.2

我在这里错过了什么?

更新通过看不出我的意思是身体不可见.我是说这个:

/home/meeee/workspace/junit-lombok-idea/lib/src/main/java/com/example/jumbokea/Main.java
Error:(10, 11) java: cannot find symbol
  symbol:   method setIntField(int)
  location: variable sc of type com.example.jumbokea.SomeClass
Error:(12, 41) java: cannot find symbol
  symbol:   method getIntField()
  location: variable sc of type com.example.jumbokea.SomeClass
Error:(14, 33) java: constructor AnotherClass in class com.example.jumbokea.AnotherClass cannot be applied to given types;
  required: no arguments
  found: float,com.example.jumbokea.SomeClass
  reason: actual and formal argument lists differ in length
Error:(16, 46) java: cannot find symbol
  symbol:   method getSomeFloat()
  location: variable ac of type com.example.jumbokea.AnotherClass
Error:(17, 43) java: cannot find symbol
  symbol:   method getSomeClass()
  location: variable ac of type com.example.jumbokea.AnotherClass
Run Code Online (Sandbox Code Playgroud)

反编译的类显示getter和setter,但是当我让IntelliJ运行'app'或Unit测试时,我遇到了这些错误.

有吸气剂和二传手,但不是吗?

mh-*_*dev 81

您需要启用注释预处理器. 见这里的文档.

另外,如果没有安装lombok插件,你应该安装它

  • 启用注释预处理器后,请不要忘记重启IntelliJ.这是我的问题 (5认同)

Sam*_*nia 11

我设法通过执行以下操作来解决此问题:

  • 安装IDEA Lombok插件
  • 启用注释处理请参阅文档
  • 在您的系统上安装Latest Maven并配置IntelliJ以使用它(而不是捆绑的)请参阅文档

  • 所有其他解决方案都不适合我,所以我想我会分享那个 (4认同)
  • 已有一个正确且可接受的答案.Maven在这里无关紧要.我从来没有过,也从不需要它. (3认同)
  • @copolii 由于不同的原因,可能会出现同样的问题。例如,对我来说,接受的答案绝对没有用。而这个——救了我。 (2认同)

JiH*_*ang 6

它可以在构建文件夹中看到。

在此处输入图片说明


log*_*sso 5

在我的情况下,问题发生在通过 Toolbox 更新 IntelliJ 之后。

“启用注释处理”标志已关闭(尽管从以前的 IntelliJ 版本导入设置),因此我将其打开。这在重新启动、清理、构建后没有解决问题。

但是,重新安装 lombok 插件有帮助!

编辑:似乎是 lombok 插件与 IntelliJ 2018.1 的兼容性问题,IntelliJ 用户需要将插件升级到 0.17。

Lombok 插件更新日志摘录:

Lombok 支持插件更新到 v0.17: - 固定(#465):修复插件与 IntelliJ 2018.1 的兼容性


Are*_*efe 5

正如其他答案中提到的,请安装Lombok插件并启用注释处理器。SHIFT在 IntelliJ 中按两次并Enable annotation processing在搜索框中键入。然后,勾选该框并重新启动 IDE。

在此输入图像描述

在此输入图像描述