Як Java розвивається з новими випусками, розробники, які використовують Lombok, можуть зіткнутися з проблемами сумісності при оновленні до Java 21 або новіших версій. Однією з поширених помилок є:
java: symbol not found
Ця помилка виникає через те, що версія Lombok у вашому проекті застаріла і не сумісна з змінами, введеними в новіших версіях Java. Lombok залежить від обробки анотацій, і старі версії можуть не працювати з більш суворими вимогами Java 21+.
Рішення
Найпростіший спосіб вирішити цю проблему — оновити залежність Lombok до версії, яка підтримує Java 21. Дотримуйтесь цих кроків:
- Оновіть Lombok у конфігурації вашого інструменту збірки:
- Переконайтеся, що ваш файл
pom.xml
(для Maven) абоbuild.gradle
(для Gradle) вказує на останню версію Lombok.
1.
Увімкнення обробки анотацій:
- У вашій IDE (наприклад, IntelliJ IDEA або Eclipse) переконайтеся, що обробка анотацій увімкнена.
Конфігурація для Maven
У вашому файлі pom.xml
оновіть залежність Lombok до останньої версії:
4.0.0
org.springframework.boot
spring-boot-starter-parent
3.4.1
com.example
demo
0.0.1-SNAPSHOT
demo
Demo project for Spring Boot
23
org.springframework.boot
spring-boot-starter
!<-- Використовуйте останню версію залежності Lombok в залежності від вашої версії Java -->
<
org.projectlombok
lombok
1.18.36
provided !<-- Додайте цей рядок -->
org.springframework.boot
spring-boot-starter-test
test
org.apache.maven.plugins
maven-compiler-plugin
org.projectlombok
lombok
1.18.36 !<-- Додайте цей рядок -->
org.springframework.boot
spring-boot-maven-plugin
org.projectlombok
lombok
1.18.36 !<-- Додайте цей рядок -->
Конфігурація для Gradle
У вашому файлі build.gradle
додайте або оновіть залежність Lombok:
gradle
dependencies {
compileOnly 'org.projectlombok:lombok:1.18.30' // Використовуйте останню сумісну версію
annotationProcessor 'org.projectlombok:lombok:1.18.30'
}
Додаткові поради
- Після оновлення залежності виконайте
mvn clean install
(для Maven) абоgradle clean build
(для Gradle), щоб перебудувати проект. - Переконайтеся, що ваша IDE має плагін Lombok і він налаштований правильно:
- IntelliJ IDEA: Перейдіть до
File
→Settings
→Build, Execution, Deployment
→Compiler
→Annotation Processors
та увімкнітьannotation processing
. - Eclipse/STS: Переконайтеся, що файл
lombok.jar
додано до аргументу-javaagent
у вашому файліeclipse.ini
.
Висновок
Оновивши залежність Lombok і правильно налаштувавши IDE, ви зможете безперешкодно вирішити помилку "symbol not found" і продовжити використовувати Lombok з Java 21 і новішими версіями. Завжди переконуйтеся, що використовуєте останню версію Lombok, щоб залишатися сумісними з сучасними функціями та удосконаленнями Java.
Перекладено з: Resolving Lombok “Symbol Not Found” Error in Java 21 and Above…