我试图在我的项目中使用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。


当前回答

我在使用JDK8构建时遇到了类似的问题,将项目设置回JDK7,它工作得很好。可能是不能在JDK8下编译的旧版本的Lombok。

其他回答

我也遇到过类似的问题。下面的方法对我很有效。

下载(从这里https://projectlombok.org/download)并在项目结构中添加jar。

步骤:文件->项目结构->全局库

对我来说奏效的是:

我卸载了安装龙目岛插件新鲜 勾选“启用注释插件” 在同一页中,我选择了“从项目类路径获取处理器”

对于MacOS上的Eclipse用户,执行此操作。这对我很管用。

将lombok.jar复制到Eclipse中。应用程序/内容/ MacOS目录。 在Eclipse.app/Contents/Eclipse/ Eclipse. ini文件的末尾添加-javaagent:lombok.jar。 重新启动Eclipse并启用项目属性中的“Annotation Processing”。

引用这

正如这里所指出的,引用:“您应该激活外部编译器选项并启用注释处理器,或者禁用外部编译器并禁用所有注释编译器以使用lombok”。这解决了我的问题。注意,我在收到这个错误之前添加了Scala插件,所以我怀疑插件更改了上面的一些设置。

如果您已经安装了它,那么为了刷新,只需取消选择并在Intellij设置中选择启用注释。