将Lombok插件添加到IntelliJ项目中

60
我正在尝试在IntelliJ IDEA的Spring Boot项目中添加Lombok。到目前为止,我已经完成以下步骤:
  1. 设置 - 插件下添加了插件(版本0.13.16)

  2. compile('org.projectlombok:lombok')添加到我的Gradle依赖项中

  3. 启用注释处理

它仍然无法识别Lombok导入或注释。我错过了什么? 解决方案: 我必须在Gradle文件上运行更新。

你能详细说明一下你的解决方案吗? - Swagga Ting
10个回答

75
你需要在 IntelliJ IDEA 中启用注解处理> 设置 > 构建、执行、部署 > 编译器 > 注解处理器 enter image description here

3
谢谢。有点奇怪,安装Lombok插件后还需要启用此选项。他们至少应该在说明中指出这个选项。 - Ammaro
我没有启用它,但安装插件并重新启动后,Lombok被识别了。也许现在这不再是必要的了? - Ferran Maylinch
1
添加Lombok插件对于运行时使用是必要的。激活注解处理对于编译时使用也是必要的,以消除编辑器窗口中的编译器警告。 - bl4ckb0l7

42

如何在IntelliJ中添加Lombok插件以支持Lombok:

  • 转到 文件 > 设置 > 插件
  • 点击 浏览存储库...
  • 搜索 Lombok插件
  • 点击 安装插件
  • 重新启动 IntelliJ IDEA

1
这是正确的方法,遵循@Henrik的步骤,并在“设置”中的“构建、执行和部署”部分启用“注释处理”。 - instinct

15

请确保在Intellij设置中为该项目激活插件。

  1. 点击设置 其他设置 Lombok插件
  2. 确保选中启用Lombok插件...

Lombok插件设置


插件安装后重启不起作用? - Henrik Kirk
不,奇怪的是。 - Anders Pedersen
启用Lombok错误消息后,我收到了“Lombok依赖项丢失~项目“dsRngChecker”似乎没有添加Lombok依赖项”的提示。尝试了各种版本的compileOnly(“org.projectlombok:lombok:0.13.16”)。 - Anders Pedersen
1
你已经按照这里的描述添加了Lombok:https://projectlombok.org/mavenrepo/?_compileOnly"org.projectlombok:lombok:1.16.12"_ - Henrik Kirk

8

如果要手动安装插件,请尝试以下步骤:

  1. 下载Lombok zip文件(确保Lombok与IDE版本匹配)。
  2. 选择首选项 插件 从磁盘安装插件

IntelliJ Plugin Preferences Dialog


5
这里发布了很多非常有用的信息,但是所有帖子中似乎都有一个错误。我在“文件”下找不到任何“设置”选项,在所有菜单中查找了10分钟,直到我在“IntelliJ IDE”-> “首选项”下找到了设置。
我不知道我是否使用了与其他作者不同的操作系统版本或IntelliJ版本,或者是否因为我是愚蠢的Windows用户不知道设置等于Mac上的首选项(我错过了这个备忘录吗?)。但是如果你找不到其他帖子建议的路径,请希望这可以帮助你。

这就是为什么我喜欢人们发布截图的原因;在Windows和Mac之间的世界以及它的措辞上的烦恼会更加清晰一些;-) 我也认为这些问题有时会消耗太多时间。有人提到过软件版本之间的差异吗;-) - Dirk Schumacher

5

我想补充一下,在我的情况下(我的操作系统是Linux Mint,使用IntelliJ IDEA)。我的编译器抱怨我使用的这些注释:@Data @RequiredArgsConstructor,尽管我已经安装并激活了Lombok插件。在IntelliJ Idea中安装Lombok。 我正在使用Maven。因此,我必须在我的配置文件(pom.xml文件)中添加此依赖项:

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

4

2

对我而言,按照问题和最佳答案建议的所有步骤后,仍未生效。一开始导入就没有成功,然后当我重新启动IntelliJ时,Gradle插件出现了以下消息:

Gradle DSL method not found: 'annotationProcessor()'
Possible causes:<ul><li>The project 'wq-handler-service' may be using a version of the Android Gradle plug-in that does not contain the method (e.g. 'testCompile' was added in 1.1.0).
Upgrade plugin to version 2.3.2 and sync project</li><li>The project 'wq-handler-service' may be using a version of Gradle that does not contain the method.
Open Gradle wrapper file</li><li>The build file may be missing a Gradle plugin.
Apply Gradle plugin</li>

这很奇怪,因为我不是为Android开发,只是在Mac OS上使用IntelliJ。公平地说,我的build.gradle文件在dependencies部分有这些行,我是从同事那里复制的:
compileOnly group: 'org.projectlombok', name: 'lombok', version: '1.16.20'
annotationProcessor group: 'org.projectlombok', name: 'lombok', version: '1.16.20'

检查版本后,唯一完全解决我的问题的方法是在build.gradleplugins部分添加以下内容,我在这个页面上找到了这个方法:

id 'net.ltgt.apt' version '0.15'

看起来是一个Gradle插件,使得使用Java注解处理器更加容易和安全。

(ltgt插件页面)


1

我刚刚找到了方法。

我删除了第一次出现的lombok @Slf4jlog,在编译器报错时等待警告(红色气泡)出现,建议“将lombok.extern.slf4j.jar添加到类路径中”。从那时起,一切都很顺利。看来IDEA喜欢抱怨lombok。


1

我在更新 IntelliJ IDE 后遇到了同样的问题,解决方法是:删除已存在的 lombok 插件并重新安装它(最新版本),


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接