问题标签 [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 投票
0 回答
255 浏览

maven - IntelliJ IDEA 在 IDE 中编译错误,但可以执行测试

我的项目中有这两个课程

以及 Junit 测试中的这行代码

即使我重建项目 100 次也会给我错误Cannot resolve method builder(),但是当我按下绿色箭头运行测试或者我使用它抛出终端时,mvn test我没有任何编译错误并且测试运行正常

在此处输入图像描述

我启用了 lombok 插件和启用注释处理:

在此处输入图像描述

在此处输入图像描述

我在用:

0 投票
5 回答
24094 浏览

java - 包 lombok 不存在

我正在使用 IntelliJ IDEA 2018.2.5(社区版)。以下是完整的详细信息。

我在 SO 中的许多不同答案中都遵循了所有建议的解决方案。但没有什么对我有用。

以下是 lombok 包所需设置的屏幕截图。
在此处输入图像描述

在此处输入图像描述 在此处输入图像描述

lombokjar 在外部库中可用。
在此处输入图像描述

编译应用程序时仍然出现错误。
在此处输入图像描述

项目库:
在此处输入图像描述

0 投票
1 回答
251 浏览

intellij-idea - IntelliJ 不会从 Lombok 找到生成的代码,而 gradle 会

我安装了带有最新 Lombok 插件 (0.25) 的 IntelliJ Ultimate 2019.2。此外,为我的项目启用了 Lombok(首选项 --> 其他设置 --> Lombok 插件)并安装了插件。注释处理也被启用。我的项目使用 Java11。

当我通过 Gradle 运行我的应用程序或通过 ./gradlew test 运行单元测试时,一切正常。

当我现在配置为使用 IntelliJ IDEA 工具时(首选项 --> 构建、执行、部署 --> 构建工具 --> Gradle --> '使用构建运行:' 和 '使用运行测试:' 设置为 'IntelliJ IDEA') 它停止工作,找不到我生成的类。

我收到异常,即未找到我的构造函数,而在我使用 gradle 时发现了它们

(no Creators, like default construct, exist): cannot deserialize from Object value (no delegate- or property-based Creator)

0 投票
3 回答
2981 浏览

intellij-idea - Intellij + Ajc + Lombok/Mapstruct

我想在我的 IntelliJ Idea 中启用 AspectJ 编译器,因为我有几个方面想要在编译时进行编织。

同时,我在我的代码库中使用了 Lombok 和 Mapstruct。

这两个需要额外的注释处理,这必须在ajc开始之前进行。我为 Lombok 和 Mapstruct 安装了两个插件。它们独立工作正常,正在生成源代码。但是当我启用ajc并打勾Enable annotation processing options,然后构建一个项目时,我得到:

此外,我看到了一堆其他ajc编译错误,因为它无法找到应该由 Lombok 生成的方法。

我该如何解决这些问题?

0 投票
1 回答
465 浏览

java - 是否可以将 IntelliJ 的“分析数据流到此处”功能与 Java Lombok 一起使用?

我最近做了一个实验,看看我们如何使用 Lombok 来减少代码中的样板。

问题:在通过 Lombok 注释使用构建器创建简单数据类时,在 IntelliJ IDEA 中,我无法右键单击字段,然后选择将数据流分析到此处。

这是使用最新的 IntelliJ Lombok 插件。IntelliJ Ultimate 2019.2.3。

有什么解决办法还是根本不支持?

示例 1 - 没有龙目岛:

使用上面的代码,当我右键单击“名称”变量并选择分析数据流到此处时,我能够看到数据流。如截图所示: 在此处输入图像描述

示例 2 - 使用 Lombok:

对于上面的代码示例,在名称字段上选择“分析数据流到此处”将显示变量名称,但没有树可以展开,如屏幕截图所示。在此处输入图像描述

0 投票
1 回答
446 浏览

spring-boot - Lombok 源未在构建文件夹中生成,使用 Intellij IDEA 社区版 2019.2.4 和 gradle

Lombok 源未在构建文件夹中生成,使用 Intellij IDEA 社区版 2019.2.4 和 gradle。

启用注释处理,并安装并启用 lombok 插件。我可以很好地使用 @Getter @Setter 和所有其他 lombok 注释,但是当我构建项目时,我没有看到带注释的类生成。在此处输入图像描述

在此处输入图像描述

0 投票
1 回答
1397 浏览

java - Lombok 自定义构建方法可选,表示无法引用非静态变量

给定以下代码。

我得到错误

java: 不能从静态上下文引用非静态变量 eventError

在这种情况下,lombok 以某种方式无法正确处理可选值?我在所有建筑商中都看到了同样的问题。intellij 插件并未将其显示为问题,但仅在我尝试构建时才显示。

我知道你不应该使用 optional 作为字段值,但在这种情况下,它使 API 更加清晰,并且构建器无论如何都不会被序列化,我们有 DTO。

0 投票
0 回答
418 浏览

intellij-idea - IntelliJ IDEA 无法识别 lombok 的字段

IntelliJ 识别包括 @FieldNameConstants 在内的 lombok 注释,我可以通过以下方式导入生成的字段:(
import static com.somepackage.SomeClass.Fields.field即使在键入“SomeClass”或“Fields”后自动完成也可以工作)。但是,当我想构建项目时,它会说:

智能版本:

龙目岛版本:

同一个项目(基于 maven 的 springboot)在 eclipse 中运行良好。Lombok 已正确安装并启用了注释预处理。我已经尝试了几次卸载(ide 和 lombok)和清理项目导入。结果相同。

0 投票
1 回答
1221 浏览

java - Delombok 每个功能都有一个 java 文件

我想delombok一个java文件。对于每个功能,我的意思是我想首先val使用 delombok。这意味着将部分代码转换val x = "some string";为纯java代码String x = "some string";。此外,其他 Lombok 功能可以转换为纯 Java 代码。Lombok 项目包含此功能,您可以在此处找到更多详细信息。

在当前项目中,出于各种原因,我们决定停止使用它。例如,我很擅长使用 IDE 生成 getter 和 setter。此外,就我而言,val使用会降低代码的可读性。我曾尝试使用 IDE 插件对项目进行 delombok,但它使代码变得不可读且糟糕。可能有一种方法可以让我通过小步骤进行 delombok - 对于选定的文件和选定的 Lombok 功能。

如何在终端或 IntelliJ IDEA 中执行此操作?可能没有开箱即用的解决方案,但您可以指出我应该关注的方向。

0 投票
1 回答
542 浏览

java - 为什么 Intellij Idea 不能正确地使用 delombok builder

我在 Intellij Idea 中使用 lombok 生成的构建器。显示我可以创建的问题的最小示例是

Idea 在调用行中显示错误build()并抱怨Unhandled exception: java.io.IOException. 但是代码是可从命令行编译和运行的。idea 和命令行中的 java 编译器与 java 8 的版本相同。当我尝试“delombok”idea 中的代码时,我看到生成的想法ScratchBuilder.build是:

奇怪的是,虽然生成的所有参数构造函数没有抛出任何东西,但 build 方法中有一个 throws。如果我只是从 build 方法中删除 throws 子句,Idea 就会停止抱怨。

为什么idea认为build方法应该有一个throws?