IntelliJ 无法识别 Lombok @Builder

Lombok @Builder not recognised by IntelliJ

我更新了 IntelliJ IDEA 到版本 2018.2.7,Lombok 的 @Builder 注释不再被识别。该项目已经有了 Lombok 注释,它与以前(2017 年...)版本的 IntelliJ 配合得很好。 只有 @Builder 失败了。 我正在使用 Lombok 版本 1.14.4。 和 Java 11.

问题和这个类似: 但是那里提供的解决方案不适用于我的项目,因为我的项目没有子模块,唯一的 pom.xml 指的是正确的项目。

该项目启用了 Lombok 插件和注释处理。

配置版本的项目POM:

<properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <lombok.version>1.14.4</lombok.version>
        <hibernate-jpa-2.1-api.version>1.0.0.Final</hibernate-jpa-2.1-api.version>
        <assertj-core.version>3.8.0</assertj-core.version>
</properties>

代码级别的错误信息是:Cannot resolve symbol@Builder。 如果可能的话,我想保留 Lombok 和 IntelliJ 版本。

这向我表明您的 Maven 没有从您的中央存储库中拉下依赖项。

以下是您可以尝试的项目列表:

  1. 验证所需的 Lombok 依赖项是否出现在中央存储库中。
  2. 验证所需的 Lombok 依赖项是否出现在您的本地 .m2 中。
  3. Re-index 你的 Maven 项目;确保自动导入已打开。
  4. 检查左侧“项目”选项卡中的“外部库”以确保出现 Lombok。
  5. 关闭项目,re-open如果右侧的 Maven 选项卡中有任何红色。

如果可用,IntelliJ 会找到它。如果IntelliJ找不到,很可能是不可用。

更新您的 lombok 版本。

因为@Builder获得了@Singular的支持,并从lombok v1.16.0开始被提升为主要的lombok包。

Source

我有

 <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.16.20</version>
            <scope>provided</scope>
            <optional>true</optional>
        </dependency>

没有那个问题

我没有在我的 pom.xml 上指定版本,它默认获得最新版本(1.18.8 我在外部库下看到这个)

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

Class.builder() 对我不起作用,但在安装插件 (https://github.com/mplushnikov/lombok-intellij-plugin) 后它起作用了。

无需额外配置。 :)

就我而言,这是版本问题。诚实地。我降级到版本 1 并重新同步 Maven 存储库:

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