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


当前回答

Jetbrains IntelliJ IDEA编辑器在2020.3版本不需要插件的情况下与lombok兼容。

我使用的是2020.2版本,我更新到2020.3,它就像这样工作。

其他回答

可能发生的情况是,即使你正确地配置了它,并且它在库和Gradle依赖项列表中可见,IntelliJ仍然没有在类路径中显示它。或者它确实存在,但是配置了不同的作用域(例如:test而不是compile)。

首先,确保安装了插件并启用了注释处理,如其他答案中所述。

如果你仍然无法识别注释,将光标放在上面,点击ALT+ENTER(或OPTION+ENTER),看看是否有菜单选项Add library: Gradle: org。projectlombok:lombok:VERSION到类的路径。如果你能看到它,选择这个,它可能会解决你的问题。

你可以查看库,它的范围在: 项目设置/模块/依赖选项卡(在那里搜索lombok)

确保它被正确地添加到项目中。

Gradle的例子:

 dependencies {
     compileOnly 'org.projectlombok:lombok:1.18.8'
     annotationProcessor 'org.projectlombok:lombok:1.18.8'
     ...
 }

为您的IDE安装Lombok插件 在IDE (IntellijIdea)中勾选“启用注释处理”复选框,不知道其他IDE(如Eclipse)中是否有类似的东西。

如果您尝试了这里提供的所有解决方案,但仍然无法编译源代码,请查看这里:构建器类的静态导入会破坏Maven中的字节码生成——如果有这样的静态导入,请查看您的源代码。这会影响maven插件,因此在IntelliJ IDEA之外的其他构建系统上编译将失败。

我使用的是IntelliJ IDEA 2020.3(社区版)

在这里,除了安装Lombok插件和启用注释之外(其他答案解释)。我还需要将标记- djpps .track.ap.dependencies=false设置为Build Process选项¹。

我不需要使用-javaagent方法,也不需要设置类路径。

¹。进入:文件|设置|构建,执行,部署|编译|“共享构建过程虚拟机选项”字段

引用:

https://github.com/rzwitserloot/lombok/issues/2592#issuecomment-705449860 https://youtrack.jetbrains.com/issue/IDEA-250718#focus=Comments-27-4418347.0-0

1、为IDEA安装lombok插件

Intellij Idea -> Preferences -> Plugins -> type in lombok -> Search in Repositories -> install -> restart Idea

2、配置lombok插件

启用注释处理将使其工作

但如果你使用的是Mac,请确保在以下两个地方启用了注释处理:

Intellij Idea ->首选项->构建,执行,部署->编译器->注释处理器,选中“启用注释处理”复选框。 文件->其他设置->默认设置->构建、执行、部署->编译器->注释处理器,选中“启用注释处理”复选框。