使用 Lombok 和 IntelliJ 的奇怪编译错误

Posted

技术标签:

【中文标题】使用 Lombok 和 IntelliJ 的奇怪编译错误【英文标题】:Strange compilation errors using Lombok with IntelliJ 【发布时间】:2018-09-07 07:26:54 【问题描述】:

我们有一个使用 Sprint Boot 和 Ivy 进行依赖管理的应用程序。我们使用 IntelliJ 作为我们的 IDE。

首先,应用程序编译没有错误。但是,在尝试访问 getter/setter 时,我们会遇到“编译错误”(引用是因为它们看起来像 IDE 中的编译错误,但应用程序仍然可以编译),例如“无法解析符号”和“无法解析方法” /etc 使用 Lombok 创建。

这里有一些补充信息:

@Data 工作正常 - 没有编译错误 Lo​​mbok 未显示在设置 -> 插件下 lombok-1.16.10.jar 在 lib 文件夹中 它在 ivy.xml 文件中被列为依赖项 注释处理已启用 下载插件本身不是我们网络上的选项

如果有人有任何想法,我们都会倾听。谢谢!

【问题讨论】:

【参考方案1】:

您需要安装插件。没有插件,IntelliJ IDEA 无法识别 Lombok 生成的方法;它不使用 javac 或其注释处理器,而是使用自己的代码模型,该模型由 Lombok 插件扩展。

如果您无法从您的网络下载插件,您可以从其他网络下载它,然后使用“从磁盘安装插件”将其安装为文件。

【讨论】:

愚蠢的问题 - jar 文件与插件下载是分开的? Lombok 插件是一个 .zip 文件。 lombok-1.16.10.jar 是不是。 最后使用了一个 lombok jar,我相信最后是 14.16 并且最终可以正常工作。感谢您的帮助!

以上是关于使用 Lombok 和 IntelliJ 的奇怪编译错误的主要内容,如果未能解决你的问题,请参考以下文章

IntelliJ idea安装lombok

Quarkus 和 Jackson 奇怪的龙目岛行为

Intellij IDEA 安装lombok及使用详解

Intellij IDEA 安装lombok及使用详解

Intellij IDEA 安装lombok及使用详解

使用 Lombok 的 @Slf4j 和 Intellij 构建:找不到符号日志