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 没有从您的中央存储库中拉下依赖项。
以下是您可以尝试的项目列表:
- 验证所需的 Lombok 依赖项是否出现在中央存储库中。
- 验证所需的 Lombok 依赖项是否出现在您的本地 .m2 中。
- Re-index 你的 Maven 项目;确保自动导入已打开。
- 检查左侧“项目”选项卡中的“外部库”以确保出现 Lombok。
- 关闭项目,re-open如果右侧的 Maven 选项卡中有任何红色。
如果可用,IntelliJ 会找到它。如果IntelliJ找不到,很可能是不可用。
更新您的 lombok 版本。
因为@Builder获得了@Singular的支持,并从lombok v1.16.0开始被提升为主要的lombok包。
我有
<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>
我更新了 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 没有从您的中央存储库中拉下依赖项。
以下是您可以尝试的项目列表:
- 验证所需的 Lombok 依赖项是否出现在中央存储库中。
- 验证所需的 Lombok 依赖项是否出现在您的本地 .m2 中。
- Re-index 你的 Maven 项目;确保自动导入已打开。
- 检查左侧“项目”选项卡中的“外部库”以确保出现 Lombok。
- 关闭项目,re-open如果右侧的 Maven 选项卡中有任何红色。
如果可用,IntelliJ 会找到它。如果IntelliJ找不到,很可能是不可用。
更新您的 lombok 版本。
因为@Builder获得了@Singular的支持,并从lombok v1.16.0开始被提升为主要的lombok包。
我有
<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>