J'ai la dépendance suivante dans pom.xml:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.8</version>
</dependency>
Quand je lance mvn clean install
, J'ai l'erreur suivante:
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)
J'ai essayé d'utiliser Java 1.8, 1.9, 1.10
. Et j'ai essayé lombok 1.6.10, 1.6.12, 1.6.20
. Tous ont le même problème.
Je suis en mesure de résoudre le problème dans mon projet maven avec Java-10 et Lombok 1.18.2.
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.2</version>
<scope>provided</scope>
</dependency>
J'avais changé la version lombok
et cela a fonctionné pour moi.
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.22</version>
<scope>provided</scope>
</dependency>
J'ai le même problème et je le résous en ajoutant ce code dans pom.xml
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok-maven-plugin</artifactId>
<version>1.18.0.0</version>
</dependency>
Résolu cela par:
1) téléchargez le lombok-Edge.jar,
2) en utilisant la dépendance suivante:
<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>
Résolution du problème en mettant à niveau la version lombok de 1.16.18 à 1.16.22. Je soupçonne que toute version compatible supérieure à .22 pourrait faire l'affaire.
mon projet utilise Java1.8, et ce problème a été résolu en utilisant lombok 1.18.4.
J'ai toujours réussi à résoudre ce problème avec de nombreux anciens projets utilisant une ancienne version de Lombok en mettant simplement à niveau la version de Lombok
Avec cette mise à niveau de Lombok; pour les projets avec une mémoire importante pendant les phases de test, j'ai également dû commencer à spécifier des configurations de mémoire pour maven-surefire-plugin
qui semble généralement avoir besoin de plus de mémoire pour éviter 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?
les erreurs
Voir ci-dessous pour un exemple de configuration de 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>