Software Workshop

class lombok.javac.apt.LombokProcessor (in unnamed module) cannot access class com.sun.tools.javac.processing.JavacProcessingEnvironment (in module jdk.compiler)
because module jdk.compiler does not export com.sun.tools.javac.processing to unnamed module

이 오류는 Lombok 플러그인과 JavaSE 버전 간의 호환성 문제로 인해 발생하는 것임

2022년 초 기준으로 JavaSE 11버전까지는 큰 문제없고, 16부터는 확실히 문제가 생김
14 버전은 정상 동작하는 것을 확인했으나 Lombok의 버전에 따라 다를 수 있음

pom.xml에 지정된 컴파일러 버전을 11이나 14로 맞출 필요가 있음

    <properties>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
    </properties>

JavaSE 런타임을 변경하는 게 직접적인 해결방법은 아니지만(JDK 16을 사용하더라도 language level을 낮춰서 11로 사용하는 것은 가능함) 필요하다면 JDK 11로 변경할 수 있음

또는, Lombok 버전이 너무 낮아서 생기는 문제일 수도 있음

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.8</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.22</version>
        </dependency>

1.8.20 이상의 버전에서 이 버그가 해결되었다고 함