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

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

我有一个使用Slf4j的类。我这样做了注解

import lombok.extern.slf4j.Slf4j;

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

但当我建立我的项目编译器吐槽:无法找到符号变量日志。

你能告诉我我错过了什么吗?

更新:原来是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

有什么解决办法吗?

更新2:也许这不是读者想听到的,但我最终转向了Scala。


当前回答

我必须禁用刚才添加的@Document注释。我正在转换我的项目使用Mongo而不是Postgres,它以前是工作的,但似乎@文档与Lombok的@Getter冲突

其他回答

你可以修复在IntelliJ IDEA 2017.1.3中使用lombok时无法找到符号变量log的问题:

IntelliJ首选项>构建,执行,部署>注释 Processors > [Check]开启标注处理>应用

仅供参考,我使用IntelliJ 2018.3解决了这个问题(使用@Data注释插入getter/setter),以下三个步骤:

文件->设置->构建、执行、部署->注释处理器->启用注释处理;

请记住应用更改。

在相同的设置对话框中安装插件lombok;

现在看起来已经足够好了,它需要重新启动IntelliJ,然后重新构建项目。

祝福你:)

我的问题是IntelliJ IDEA中捆绑的Lombok插件版本与IntelliJ IDEA本身的版本不兼容。我把IntelliJ降级到2019.1.4,它起作用了。

如果正确地设置了lombok库,就像上面提到的那样,单击无法编译的注释,按Alt-Enter键,将出现正确的导入,代码将被编译。-我花了一段时间才弄明白。我把它放在这里,只是为了防止人们错过简单明显的东西。

如果你做了这个问题中提到的所有事情,它仍然失败,不要忘记删除项目下的/target文件夹。如果仍然失败,重新启动IDE。 如果仍然失败,重新启动计算机。