Ошибка компиляции после обновления до JDK 21 — «NoSuchFieldError: JCImport не имеет поля-члена, подходящего JCTree»
После обновления до JDK 21 в моем проекте Spring Boot возникла следующая ошибка компиляции:
Fatal error compiling: java.lang.NoSuchFieldError:
Class com.sun.tools.javac.tree.JCTree$JCImport does not have member field 'com.sun.tools.javac.tree.JCTree qualid'
1 ответ
Следуя первому ответу отсюда, я внес следующие изменения: ранее по умолчанию использовалась версия lombok 1.18.20, и мне нужно передать последние, которые решают проблему для меня, когда я перешел с весенней загрузки 2.XX на 3.3.3
Когда вы выполняете зависимость mvn:tree, вы можете увидеть, откуда берется более низкая версия, и если вы хотите исключить ее и новую или просто добавить новую и проверить еще раз, она все равно вытягивает старую версию, если не просто добавить новую, например ниже. Пока с этим решением проблем нет.
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.30</version>
<scope>provided</scope>
</dependency>