245
  1. 我已经安装了 intellij idea 的插件(lombok-plugin-0.8.6-13)。
  2. 将 lombok.jar 添加到类路径中
  3. 我可以在结构窗口中找到 getter 和 setter。Intellij 没有显示错误。
  4. 设置 - Lombok 插件 - 已验证 lombok 的 Intellij 配置,它显示“IntelliJ 的配置似乎没问题”。

似乎一切正常。但是当我编译一个测试时,错误来了:找不到方法getXXX和setXXX。

我用 IntelliJ 打开 .class 文件,发现没有 setXXX 和 getXXX 方法。

有人能告诉我为什么吗?

  • 插件:lombok-plugin-0.8.6-13
  • lombok.jar:1.14.0
  • 想法:13.0.2 for linux
  • jdk:1.7.0_21
4

11 回答 11

471

为了解决问题集:

  • 首选项 ( Ctrl+ Alt+ S)
    • 构建、执行、部署
      • 编译器
        • 注释处理器
          • 启用注释处理

确保您已安装 IntelliJ 的 Lombok 插件!

  • 首选项->插件
  • 搜索“龙目岛插件”
  • 单击浏览存储库...
  • 选择龙目岛插件
  • 安装
  • 重启 IntelliJ
于 2014-12-11T19:36:43.277 回答
53

如果您将 Eclipse 编译器与 lombok 一起使用,则此设置最终对我有用:

  • 理念 14.1
  • 龙目岛插件
  • ... /编译器/ Java 编译器> 使用编译器:Eclipse
  • ... /编译器/注释处理器> 启用注释处理:选中(默认配置)
  • ... / Compiler > Additional build process VM options:(Shared build process VM options) -javaagent:lombok.jar

最重要的部分是最后一个,我的如下所示: 在此处输入图像描述

IntelliJ 编辑器需要插件来识别 getter 和 setter,eclipse 编译器需要 javaagent 才能使用 lombok 进行编译。

于 2015-05-08T13:49:05.237 回答
31

如果你在 Mac 上使用 Intellij,这个设置终于对我有用。

安装:Intellij

  1. 转到首选项,搜索插件。
  2. 在插件搜索框中输入“Lombok”。Lombok 是一个非捆绑插件,所以一开始不会显示。
  3. 单击“浏览”以搜索非捆绑插件
  4. “龙目岛插件”应该会出现。选择它。
  5. 单击绿色的“安装”按钮。
  6. 单击“重新启动 Intellij IDEA”按钮。

设置:

  1. 启用注释处理器

    • 转到首选项 -> 构建、执行、部署 -> 首选项 -> 编译器 -> 注释处理器
    • 文件 -> 其他设置 -> 默认设置 -> 编译器 -> 注释处理器
  2. 检查 Lombok 插件是否启用

    • IntelliJ IDEA->首选项->其他设置->Lombok插件->启用Lombok
  3. 在全局库和项目依赖项中添加 Lombok jar。

    • 文件 --> 项目结构 --> 全局库(添加 lombok.jar)
  4. 文件 --> 项目结构 --> 项目设置 --> 模块 --> 依赖项选项卡 = 检查 lombok

  5. 重启 Intellij

于 2018-09-18T18:48:22.010 回答
14

我按照这个程序来解决类似/相同的错误。

mvn 理念:清洁

mvn想法:想法

之后,我可以从 IDE intellij 和命令行进行构建。

于 2018-11-16T10:28:53.877 回答
11

对我来说,lombok 插件和注释处理都需要启用,没有别的。无需使用Eclipse和其他-javaagent:lombok.jar选项。

  • 想法 14.1.3,构建 141.1010
  • Lombok 插件[Preference->plugins->browse repositories->search 'lombok'->install and restart idea。
  • 首选项->搜索“注释”->进入注释处理器->启用注释处理。
于 2015-10-25T13:56:05.923 回答
11

在花了很长时间解决这个问题之后,我找到了一个简单的解决方法,它可以确保 IntelliJ 在构建期间正确处理 Lombok 注释。

此解决方法不需要 gradle-lombok 插件。您build.gradle只需要以下内容:

dependencies {
    compileOnly("org.projectlombok:lombok:1.16.18")
}

解决方法是打开以下 IntelliJ 设置:

  1. 打开 IntelliJ 首选项/设置。
  2. 导航Build, Execute, Deployment > Build Tools > Gradle > Runner
  3. 选中标有的框Delegate IDE build/run actions to gradle


与此页面上的其他解决方案相比,此解决方法的优势:

  • 无需注释处理!
  • 能够使用您选择的 Java 编译器(无需 Eclipse 编译器)
  • 不使用有问题的 gradle-lombok 插件(尽管也许其他人可以解决这个问题)
  • 无需虚拟机选项
  • lombok jar 没有硬编码路径

一个缺点是 IntelliJ 将不再使用自己的测试运行器。相反,测试总是通过 Gradle 运行。

于 2017-12-29T12:25:44.073 回答
10

想法 2016.1:

  • 安装龙目岛插件
  • 设置 -> 编译器 -> 注释处理器 -> 启用注释处理:选中(默认配置)
  • 设置 -> 编译器 -> 注释处理器 -> 注释处理器添加“lombok.launch.AnnotationProcessorHider$AnnotationProcessor”
  • 此外,如果您使用 maven 添加到 maven-compiler-plugin 配置 -> annotationProcessors -> annotationProcessor:lombok.launch.AnnotationProcessorHider$AnnotationProcessor

    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>${maven.plugin.compiler.version}</version>
      <configuration>
        <compilerVersion>${java.version}</compilerVersion>
        <source>${java.version}</source>
        <target>${java.version}</target>
        <annotationProcessors>
          <annotationProcessor>lombok.launch.AnnotationProcessorHider$AnnotationProcessor</annotationProcessor>
        </annotationProcessors>
      </configuration>
    </plugin>
    
于 2016-06-15T15:48:04.807 回答
8

这个问题的高级答案都没有为我解决问题。

我设法通过在 pom.xml 文件中向 lombok 添加依赖项来解决问题,即:

<dependency>
   <groupId>org.projectlombok</groupId>
   <artifactId>lombok</artifactId>
   <version>1.16.12</version>
</dependency>

我正在使用 IntelliJ 2016.3.14 和 maven-3.3.9

希望我的回答对你有帮助

于 2017-02-05T20:43:19.547 回答
8

确保满足这两个要求:

  1. 启用注释处理,

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

  2. Lombok 插件已为您的项目安装并启用。

于 2016-10-03T22:24:02.210 回答
4

在 Itellij 15 CE 上,只需安装 Lombok 插件就足够了(无需额外配置)。

于 2016-07-11T22:50:37.480 回答
1

我无法使用 javac 编译器来解决这个问题,并且我得到了同样的错误。

错误:(9, 14) java: 包 lombok 不存在

我启用了注释处理器,并且还尝试重建项目,使缓存/重新启动无效。没有帮助。

然而,我确实让它部分与 eclipse 编译器一起工作。我说部分是因为尽管构建成功通过,但编辑器仍然抱怨“无法解析符号”。

Idea - 15.04 社区版 Lombok - 1.16.6 Lombok 插件 ( https://github.com/mplushnikov/lombok-intellij-plugin ) - 0.9.8 JDK - 1.8.0_51

更新:好的,我终于得到了这个工作。我的是一个 gradle 项目,lombok 被配置为自定义的“提供”配置。在 build.gradle 中添加后工作正常

idea {
 module {
     scopes.PROVIDED.plus += [configurations.provided]
    }
}

所以,3个步骤

  1. 从 File->Settings->Plugins 安装 Lombok 插件
  2. 启用注释处理器(javac 编译器也可以)
  3. 如果要将 lombok 添加为自定义配置,请确保已更新 build.gradle 或 pom.xml。
于 2016-03-10T04:20:35.243 回答