使用inteliJ编译时出现lombok问题

问题描述 投票:0回答:4

我想编译我的项目。它与命令 mvn clean install -U 一起工作正常,但是当我尝试使用 intelij 构建它或运行测试 InteliJ 抛出:

java: Lombok visitor handler class lombok.javac.handlers.HandleVal failed: java.lang.NoSuchMethodError: 'boolean com.sun.tools.javac.code.Symbol$TypeSymbol.isLocal()'
 

我尝试过:

  • 删除.idea
  • 删除.m2
  • 使缓存无效
  • mvn 想法:想法 / mvn 干净:想法
  • 处理注释已打开并且lombok插件已安装

此问题出现在部分微服务中。

你知道解决办法吗?

在项目(父)Pom.xml 依赖项中:

        <java.version>1.8</java.version>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
...
        <lombok.version>1.18.10</lombok.version>
...
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <scope>provided</scope>
        </dependency>

在服务 pom.xml 中:

        <path>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>${lombok.version}</version>
        </path>
java maven lombok
4个回答
4
投票

JDK 版本不匹配时,可能会发生错误。例如。源使用pom.xml编译并具有jdk11版本,但IDEA项目配置了jdk17。我在 11 和 17 的分支之间切换,却忘记更改设置。


0
投票

最后,我在这个错误上发现了一个有点奇怪的解决方案...我已将项目设置 - >项目 sdk 版本从 1.7(pom.xml 中的项目版本)更改为我的 mvn 命令使用的路径版本(mvn --版本jdk): Java 版本:11.0.12,供应商:Eclipse Foundation,运行时: .\Local\Programs\Eclipse Foundation\jdk-11.0.12.7-hotspot 。 谢谢您的帮助。


0
投票

可能涉及的人:我遇到了这个确切的错误,在这种情况下,是我没有注意到的另一个 IntelliJ 模块导致了问题(因为 IntelliJ 没有说明哪个模块,我假设它是那个模块)我正在努力并改变)。尝试:

  • 删除所有不使用的模块
  • 将Lombok升级到最新版本

0
投票

您需要转到文件>项目结构>项目更改sdk版本

© www.soinside.com 2019 - 2024. All rights reserved.