在 IntelliJ IDEA 下使用 Lombok 时无法编译项目

新手上路,请多包涵

我正在尝试在使用 IntelliJ IDEA 11 开发的项目中使用 Lombok

我已经 为 IDEA 安装了 3rd-party 插件,它似乎工作正常,因为 IDEA 可以看到所有自动生成的方法/字段。

所以我有一个使用 Slf4j 的类。我是这样注释的

import lombok.extern.slf4j.Slf4j;

@Slf4j
public class TestClass
{
    public TestClass()
    {
        log.info("Hello!");
    }
}

但是当我构建我的项目编译器时吐出: cannot find symbol variable log

你能告诉我我在这里缺少什么吗?

更新: 原来是 RequestFactory 注释过程失败了。

 input files: {com.zasutki.courierApp.server.TestServlet, com.mine.courierApp.server.model.DatastoreObject}

annotations: [javax.inject.Singleton, javax.inject.Inject, lombok.Getter, lombok.Setter, com.googlecode.objectify.annotation.Id, com.googlecode.objectify.annotation.OnSave]

Processor com.google.web.bindery.requestfactory.apt.RfValidator matches [lombok.Getter, com.googlecode.objectify.annotation.Id, javax.inject.Inject, lombok.Setter, com.googlecode.objectify.annotation.OnSave, javax.inject.Singleton] and returns false.

cannot find symbol variable log

关于解决方法的任何想法?

Update2: 也许这不是读者想听到的,但我最终切换到了 Scala

原文由 expert 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.7k
2 个回答

我通过在 IDEA 12 中设置复选框 Enable annotation processing 来修复它:

设置 -> 编译器 -> 注释处理器

对于 IDEA 2016.2:

首选项… > 构建、执行、部署 > 编译器 > 注释处理器

启用后,运行 Build -> Rebuild Project 以识别注释并消除错误。


对于 IDEA 2019.2.1,根据项目的配置方式,安装 Project Lombok 插件可能还不够。这是将 Project Lombok 与 IntelliJ IDEA 结合使用的另一种方法:

  1. 访问 https://projectlombok.org/download
  2. 将 JAR 文件下载到项目 lib 目录中(例如 $HOME/dev/java/project/libs )。
  3. 启动 IDE。
  4. 点击 文件🠖设置
  5. 展开 构建、执行、部署 🠖 编译器 🠖 注释处理器
  6. 确保选中 启用注释处理
  7. 确保根据项目的模块设置选择 Store 生成相对于的源(如果 模块输出目录 不起作用,请返回并尝试其他设置)。
  8. 单击 应用
  9. 点击 插件
  10. 单击 市场
  11. 将搜索字段设置为: lombok
  12. 安装 龙目岛
  13. 单击 确定
  14. 如果出现提示,请重新启动 IDE。
  15. 点击 文件🠖项目结构
  16. 选择
  17. 单击 + 符号添加新项目库(或按 Alt + Insert )。
  18. 选择 Java
  19. 将路径设置为: $HOME/dev/java/project/libs/lombok.jar
  20. 单击 确定
  21. 选择要应用的模块。
  22. 单击 确定
  23. 或者,将 lombok 重命名为 Project Lombok 1.18.8
  24. 单击 确定

该项目现在可以从 lombok 包导入并使用 Project Lombok 注释(例如, lombok.Setterlombok.Getter )。

原文由 user2021572 发布,翻译遵循 CC BY-SA 4.0 许可协议

解决此问题的图片表示。

首先启用注释处理器并尝试。这可能有效也可能无效。 在此处输入图像描述

发布后,您可以从 intellij 安装 lombok 插件,(安装后 Intellij 将重新启动以启用该插件,因此请确保您保存您的工作。(Intellij 在重新启动之前会保存所有更改,只是为了安全起见。) )截图如下:

在此处输入图像描述

原文由 CodeShadow 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题