问题标签 [intellij-lombok-plugin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
12397 浏览

java - IntelliJ 上的 Lombok @SuperBuilder 解决方法

我有一个类产品:

和一个扩展类

我正在尝试使用构建器创建一个 Frame 对象:

我正在使用带有 Lombok 插件的 IntelliJ 2019.1.1,但不幸的是,编译器将.name().manufacturer()方法标记为错误。我看到这个问题打开了,我想知道是否有一种解决方法可以让我的代码正常工作。

0 投票
1 回答
3210 浏览

java - lombok 是否适用于 Java 12?

我最近在 Intellij 上使用 Java 11 和 Lombok,一切都很好。
我尝试了 Java 12,但现在我总是遇到编译错误,因为 lombok 的注释似乎被忽略了。

有谁知道lombok是否支持java 12?

0 投票
1 回答
1529 浏览

java - Spring boot 2 lombok:jar:2.6.7 丢失,没有可用的依赖信息

这是我pom.xml从 start.spring.io 生成的 M2 spring-boot 版本。这就是添加 maven spring 存储库的原因。但是找不到依赖项。

当我mvn clean:install从最新的 Intellij 2019.1.1 运行时,出现以下错误:

为什么 maven 无法正确获取 lombok 版本?Intellij 似乎看到了这个版本2.6.7,因为Alt+Insert它下面是可用的,但是 maven 看不到它?

0 投票
1 回答
1045 浏览

java - 具有复杂类结构的 Lombok 构建器继承

我已经阅读了有关 lombok 的构建器和继承的其他问题,但没有一个解决方案有效。使用 Lombok 版本 1.18.4 和 Java 11。

我试图继承父构建器,同时也满足接口,只使用不可变字段。这是我的班级结构:

编码

getFoo逻辑在所有实现中都非常普遍,因此我决定创建一个Abstract帮助程序来避免在任何地方复制粘贴相同的代码。

以及实际的Foo实现:

'获胜条件'

我希望龙目岛

  1. 识别父类所需的字段。
  2. 在生成的子类构建器中包含这些字段。

在代码中:

尝试的解决方案

问题是,IntelliJ 突出显示@Data带有此错误的注释:

Lombok 在基类中需要一个默认构造函数。

@Data如果我从中删除,FooTest则会收到此错误:

基类中没有可用的默认构造函数。

所以我删除了@SuperBuilderfromAbstractFoo并添加了一个带有所有参数的手动创建的构造函数。错误仍然存​​在。我尝试过其他的东西和注释组合,但没有一个奏效。

我还尝试 - 徒劳地 - 将所有AbstractFoo字段设置为protected final,并自行声明 Foo 实现final,这符合我的业务规则。

0 投票
1 回答
1401 浏览

java - 在 Intellij 中查找 lombok 生成的 getter/setter 的用法

我有一个带有 lombok 注释 ( @Setter) 的字段,我正在寻找一种简单的方法来查找自动生成的 setter 的用法。

当我将光标放在@Setter注释上并运行Find usages(Alt+F7)时,我显然得到了所有使用注释的地方@Setter(结果是所有类都包含带有 的行@Setter

但是我想找到所有使用这个具体设置器的地方,因为这个具体字段(我希望所有类都包含setSomething(...)因此而包含的行)

我启用了注释处理(选中了“启用注释处理”Settings->Compiler->Annotation Processors复选框)。
我还安装了 Lombok 插件,它工作正常。

0 投票
3 回答
2870 浏览

java - LOGGER.info 和 LOGGER.debug 显示为红色,无法解析方法

固定的

我尝试重新安装插件,但没有奏效,所以我完全清除了我的 inteljii 想法并再次安装它,它似乎正在工作。不确定问题到底是什么。

LOGGER.infoLOGGER.debug在 IntelliJ 想法中以红色显示消息cannot resolve method,而其他相关的一切lombok似乎都在工作。

版本信息:

附加信息:

  • Annotation processingCompiler已启用

  • 项目中启用了Lombok

  • @log支持已启用

  • 尝试添加丢失的 lombok 依赖警告,没有用

  • lombok.configlombok.log.fieldName=LOGGER

我尝试从头开始制作另一个项目,但问题仍然存在: https://imgur.com/a/zBamc4T

0 投票
1 回答
1394 浏览

java - 使用 Gradle 激活 Lombok 注释处理器

我喜欢使用 Lombok,但它需要在 IDE 设置中启用注释处理器。因为开发人员使用不同的 IDE 并且 CI/CD 有自己的编译流程,而且我真的很想避免解释初级开发人员为什么需要选中此复选框,所以我正在寻找一种避免选中此复选框的方法。理想情况下,我想让一个初级知道运行 git clone 然后运行 ​​./gradlew。Gradle 有什么方法可以完全设置注释处理器(无需手动单击)?

如果它可以在 IntelliJ IDEA 之外工作,那就太好了。

我看到的主要问题是 Lombok 需要在 IntelliJ IDEA 中安装和激活 Lombok 插件。

是否可以通过运行来运行使用 Lombok 的项目: git clone ... && ./gradlew run ?

0 投票
1 回答
32 浏览

intellij-lombok-plugin - Lombok:setter 方法未被识别

Lombok 插件与 IJ IDE 集成,我在服务中看不到任何编译错误,但是在启动 spring boot 应用程序时出现错误:java:找不到符号。(用于设置方法)。

为了理解和识别方法,我们需要在 IDE 中进行任何其他设置吗?

0 投票
0 回答
613 浏览

java - Lombok 构造函数和带有 final 字段的继承

我完全困惑如何在以下场景中使用 Lombok:

基类:

子类:

Lombok 抱怨@Data第二个类上的注释,它需要基类中的默认构造函数。但是,基类中的字段是最终的,因此默认构造函数必须将所有字段初始化为某个值,这很麻烦,因为它们不能被子类的构造函数更改。

设置这些类以便可以通过带有参数的构造函数创建具体子类的正确方法是什么?构建器可以与最终字段一起使用吗?我想尽可能避免编写代码并依赖 Lombok 注释(尽管我知道这可能是不可能的)。

0 投票
0 回答
720 浏览

junit - junit运行时出现Lombok错误

它适用于spring boot或普通项目,但在junit运行时不起作用

我看到了很多关于龙目岛的解决方案,但是没有用

例如

  1. 在 intellij 中安装 lombok 插件

  2. 构建、执行、部署 -> 编译器 -> 注释处理器 -> 启用注释处理检查!