繁体   English   中英

Lombok 添加但在 Intellij IDEA 中无法识别 getter 和 setter

[英]Lombok added but getters and setters not recognized in Intellij IDEA

我在 ubuntu 上使用 IntelliJ IDEA。 我将lombok.jar添加到我的项目中,并为 IDEA 安装了 Lombok 插件。 我可以访问注释,但不会生成getterssetters 如果我尝试访问不存在的 getter 或 setter 方法,我会遇到同样的错误。 我会错过什么?

您需要为 IDEA 安装 Lombok 插件。 打开设置面板(Ctrl + Alt + S)。 搜索“插件”,然后在插件中搜索“Lombok”。 找到插件并安装它。 最后,重新启动您的 IDEA。 那么一切都会好起来的!

我通过勾选设置->编译器->注释处理器中的“启用注释处理”复选框来修复它。

除此之外,您可能还需要安装lombok插件,如@X.Chen对新版本 IntelliJ Idea的回答中所述。

它是一个组合

  • 在 Settings->Compiler->Annotation Processors 中勾选“ Enable annotation processing ”复选框。

  • 安装Lombok插件idea,重启生效。

如果您使用的是Mac ,请确保在这两个位置启用注释处理(勾选复选框)。

1.) Intellij IDEA -> Preferences -> Compiler -> Annotation Processors

2.) File -> Other Settings -> Default Settings -> Compiler -> Annotation Processors

接着

3.) Intellij IDEA -> Preferences -> Plugins ->Browse Repositories-> Search for "Lombok"-> install plugin -> Apply and restart IDEA

4.) 然后大概重启 Intellij IDEA。

这是我的 IntelliJ IDEA 和 Mac 版本 - IntelliJ IDEA 2017.1.5 Build #IU-171.4694.70 --- Mac OS X 10.12

我在 IntelliJ 中安装了 Lombok 插件并启用了注释处理,但我的语法突出显示仍然无法正常工作。 这可能是由于 2017 年到 2018 年的 IDEA 升级所致。 我在使用 @Getter 和 @Setter 的类中的私有字段上收到警告“访问超过权限”。

我不得不卸载 Lombok 插件,重新启动 IntelliJ,然后重新安装插件,并再次重新启动 IntelliJ。

现在一切都很好。

可能您已经有了Lombok插件,但生成的方法仍然无法被Android Studio识别。 在这种情况下,插件可能已过时,因此解决方案是简单地更新它。

首选项 -> 插件 -> Lombok 插件 ->更新插件

  1. 转到文件 > 设置 > 插件。
    1. 单击浏览存储库...
    2. 搜索 Lombok 插件。
    3. 点击安装插件。
    4. 重启安卓工作室。

完成修复或配置 lombok 的步骤。

1.添加依赖

<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.8</version> <scope>provided</scope> </dependency>

2、安装Lombok for ide的插件。 文件 > 设置 > 插件 > 搜索(lombok)> 安装

3.使用以下步骤勾选“启用注释处理”复选框:-设置- >编译器->注释处理器

4.重新启动以使更改生效。

转到设置-> 插件-> 搜索“Lombok 插件”-> 它将显示结果。 从列表中安装 Lombok 插件并重启 Intellij

转到设置->插件->浏览存储库并搜索Lombok它将显示 Lombok 插件,您还将在右侧面板上看到安装选项。 请安装它。 然后重新启动您的 IntelliJ IDE。 这已经解决了我的问题。

我有这个问题,请确保

  1. 添加了 Lombok 插件。
  2. 注释处理器被打勾。
  3. 在您的 build.gradle/pom.xml 中,您已将 lombok 设置为注释处理器。

例如。 对于 gradle->

 annotationProcessor 'org.projectlombok:lombok:1.18.12'

在 mac 上的 IDEA 2019.3.3 社区(catalina)

IntelliJ IDEA => preferences


Build,Execution,Deployment=>Compiler=>Annotation Processors:

选中Enable annotation Processing

就我而言,

  1. 安装了 Lombok 插件✅
  2. 注释处理器已检查 ✅

但我仍然收到错误,因为 lombok 不兼容并且无法识别 getter 和 setter。 通过进一步检查,我发现最近我的 intelliJ 版本升级了,旧的 Lombok 插件不兼容。

转到首选项 -> 插件 -> 搜索 lombok 并更新

要么

转到 Preference -> Plugins -> Search lombok-> Uninstall restart IDE 并从 MarketPlace 再次安装

在此处输入图片说明

我通过以下步骤修复了它:

  1. 安装上一版Idea(12.16)并启动(idea 13已启动)
  2. 然后我用idea 13打开窗口(它建议重新读取一些配置文件。我同意并重新启动我的IDE)。 然后使用最新版本的 IDEA 一切正常

就我而言,它正在从 2017 年的想法迁移到 2018 年,并且 Lombok 插件已经存在。 我所做的只是添加了“启用注释处理选项”输入首选项选中该框

实际上 lombok 正在工作(如果您在 IDE 红色警报的情况下运行该项目,您将看到该项目将正常运行),但 IDE 无法识别 lombok 注释生成的所有资源。 所以你必须安装lombok插件,仅此而已!

在 MacBook 中按 command+,然后转到插件并搜索 Lombok 并安装它。

它将在不重新启动 IntelliJ IDEA IDE 的情况下工作,如果不起作用,请尝试重新启动。

非常感谢

两种方式:

  1. 在设置=> 编译器下检查 EnableAnnotationProcessing
  2. 从插件安装 lombok 并重新启动 IDE

在 Linux 中,

如果您使用 gradle 在 IntelliJ 中添加 Lombok 依赖项,即使按照其他人建议的两个步骤,您仍然可能会遇到问题,

  1. File -> Settings -> Build, Execution, Deployment -> Compiler(Expand) -> Annotation processor 中启用Enable annotation processing
  2. File -> Settings -> Plugins 中安装或启用(如果已经安装)Lombok。

除此之外,还在依赖下的build.gradle脚本中添加以下依赖项以及 Lombok 依赖项。

dependency{
    annotationProcessor 'org.projectlombok:lombok:1.18.20'
}

更改依赖版本,因为这是我发布时的最新版本。

我正在使用带有 Spring 启动 2.5.9 的 IntelliJ。 以下是我所做的以下事情:

  1. 添加了 Lombok 插件
  2. 启用注释处理
  3. 在 build.gradle 文件或 maven 文件中添加 lombok 依赖和 annotationProcessor 标签。 这一步之后对我有用

这是我的 build.gradle 文件:

plugins {
    id 'org.springframework.boot' version '2.5.9'
    id 'io.spring.dependency-management' version '1.0.11.RELEASE'
    id 'java'
}

group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'

configurations {
    compileOnly {
        extendsFrom annotationProcessor
    }
}

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter'
    compileOnly 'org.projectlombok:lombok'
    annotationProcessor 'org.projectlombok:lombok'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

tasks.named('test') {
    useJUnitPlatform()
}

就我而言,插件已安装,并且编译器首选项也已相应设置。 我必须 go Refactor (in toolbar, in line to file, edit etc) -> Lombok menu -> Default @Data然后Build或内部“mvn clean install”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM