実現したいこと
Maven Webアプリケーションプロジェクトを異なる環境に移動し、mvn clean package
でビルド
エラーメッセージ
Console
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project yout-project:
Fatal error compiling: java.lang.IllegalAccessError:
class lombok.javac.apt.LombokProcessor (in unnamed module @0x21c75084) 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 @0x21c75084
日本語での要約
Lombok へのアクセス失敗によるコンパイルエラー
原因
Maven プロジェクトを異なる環境に移動した結果、
Java と Lombok のバージョン不一致が発生したため
解決方法
-
Lombok を Java に合わせる(Java を現状維持したい場合)
- pom.xml で Lombok のバージョンが明示的に指定されていなかったため、追記する
pom.xml<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.30</version> <!-- 追加 --> <scope>provided</scope> </dependency>
.
-
Java を Lombok に合わせる(Lombok を現状維持したい場合)
- 現在の Lombok のバージョンを使用できる Java に変更する
環境
Java 17.0.9
Eclipse IDE for Enterprise Java and Web Developers (includes Incubating components) Version: 2023-12 (4.30.0)
Apache Maven/未調査