相关疑难解决方法(0)

Lombok 不适用于 IntelliJ 2020.3 社区版

我与 Lombok 一起工作没有任何问题,直到今天,我的 Intellij 自动更新到最新版本 2020.3 11 月 30 日构建。之后,不再识别任何 Lombok 注释。

我的 Java 项目仍然使用 Maven 从命令行构建,但项目中的注释完全被忽略,并且无法手动运行任何单元测试。

到目前为止我尝试过的事情:

  • 重新安装了 Lombok 插件
  • 重启 Intellij
  • 重新启动了笔记本电脑
  • 使缓存无效
  • 从github重新克隆项目
  • 检查注解处理器是否已启用

没有任何效果。可能发生了什么?关于我可以尝试做什么的任何想法?

java intellij-idea lombok

44
推荐指数
3
解决办法
2万
查看次数

java.lang.IllegalAccessError: 类 lombok.javac.apt.LombokProcessor 无法访问类 com.sun.tools.javac.processing.JavacProcessingEnvironment

我对编码有些陌生,并且正在尝试使用 Lombok 插件为我的特定类的字段自动创建 Getter/Setter 等。这样做时,我收到以下错误:

错误:

java: java.lang.IllegalAccessError: class lombok.javac.apt.LombokProcessor (in unnamed module @0x3b67ef9b) 不能访问类 com.sun.tools.javac.processing.JavacProcessingEnvironment (in module jdk.compiler) 因为模块 jdk.compiler不将 com.sun.tools.javac.processing 导出到未命名的模块 @0x3b67ef9b

在网上做了一些搜索后,我发现这个错误与 OpenJDK 15 中的一个问题有关,但我目前使用的是 OpenJDK 16,因此我很困惑我仍然收到这个错误。

这个线程声称有一个解决方案:https : //github.com/rzwitserloot/lombok/issues/2681#issuecomment-748616687但在实现插件后,它似乎没有任何区别,我仍然收到错误。

由于我是初学者,我很可能犯了一个小错误,但如果有人知道我错过了什么,请告诉我。

使用@Data 的类(龙目岛):

import lombok.Data;

@Data
public class Ingredient {

    private final String id;
    private final String name;
    private final Type type;

    public enum Type {
        WRAP, PROTEIN, VEGGIES, CHEESE, SAUCE
    }

}

Run Code Online (Sandbox Code Playgroud)

我的 Pom 文件:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId> …
Run Code Online (Sandbox Code Playgroud)

java spring maven lombok intellij-lombok-plugin

38
推荐指数
3
解决办法
5万
查看次数