Pom.xmlには次の依存関係があります。
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.8</version>
</dependency>
mvn clean install
を実行すると、次のエラーが発生します。
Caused by: Java.lang.ClassNotFoundException: com.Sun.tools.javac.code.TypeTags
at Java.lang.ClassLoader.findClass (ClassLoader.Java:711)
at Java.lang.ClassLoader.loadClass (ClassLoader.Java:566)
at lombok.launch.ShadowClassLoader.loadClass (ShadowClassLoader.Java:418)
Java 1.8, 1.9, 1.10
。]を使用しようとしました。そして、lombok 1.6.10, 1.6.12, 1.6.20
を試してみました。それらはすべて同じ問題を抱えています。
Java-10およびLombok 1.18.2を使用して、Mavenプロジェクトの問題を解決できます。
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.2</version>
<scope>provided</scope>
</dependency>
lombok
バージョンを変更しましたが、うまくいきました。
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.22</version>
<scope>provided</scope>
</dependency>
私は同じ問題を抱えており、pom.xmlにこのコードを追加することで解決します
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok-maven-plugin</artifactId>
<version>1.18.0.0</version>
</dependency>
これを解決しました:
1)lombok-Edge.jarをダウンロードし、
2)次の依存関係を使用する:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.21</version>
<scope>system</scope>
<systemPath>/Users/xxx/Downloads/lombok-Edge.jar</systemPath>
</dependency>
Lombokバージョンを1.16.18から1.16.22にアップグレードすることで問題を解決しました。 .22を超える互換性のあるバージョンは、このトリックを実行する可能性があります。
私のプロジェクトはJava1.8を使用していますが、この問題はlombok 1.18.4を使用して解決されています。
Lombokバージョンをアップグレードするだけで、古いバージョンのLombokを使用する多数の古いプロジェクトでこの問題を常に解決できました。
Lombokのこのアップグレードにより、テスト実行フェーズ中にメモリが重いプロジェクトの場合、maven-surefire-plugin
のメモリ構成の指定を開始する必要がありましたが、これは一般的にExecution default-test of goal org.Apache.maven.plugins:maven-surefire-plugin:2.18.1:test failed: The forked VM terminated without properly saying goodbye. VM crash or System.exit called?
エラーを回避するためにより多くのメモリを必要とするようです
動作するpom.xml設定の例については、以下を参照してください
<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 http://maven.Apache.org/xsd/maven-4.0.0.xsd">
</properties>
...
<lombok.version>1.18.2</lombok.version>
...
</properties>
<dependencies>
...
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
<scope>provided</scope>
</dependency>
...
</dependencies>
...
<build>
<plugins>
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<!--Extra memory to prevent jvm crash during heavy Integration/unit test with newer lombok and jdk8-->
<argLine>-Xmx1024m -XX:MaxPermSize=256m</argLine>
</configuration>
</plugin>
...
</plugins>
</build>
</project>