Сборки с зависимостями Gradle 5.2.1 и Lombok 1.18.6 не работают с JDK 10. Похоже, что аннотации Lombok не обрабатываются должным образом. Я продолжаю получать сообщение об ошибке «не могу найти символ» в различных файлах Java в моем источнике. Любые мысли о том, почему это может происходить? Я обнаружил, что дефект уже создан: https://github.com/rzwitserloot/lombok/issues/1572
Я использую:
Java JDK 10
Грейдл 5.2.1
Ломбок 1.18.6
Спасибо.




Я нашел следующий обходной путь для этой проблемы, используя плагин для обработки аннотаций Lombok во время компиляции.
Мне пришлось выполнить следующие шаги в build.gradle:
1) Добавьте id "net.ltgt.apt" version "0.15" в раздел плагинов.
2) Добавьте maven { url 'https://projectlombok.org/edge-releases' } в раздел репозиториев.
3) Добавьте следующее в раздел зависимостей:
compileOnly 'org.projectlombok:lombok:edge-SNAPSHOT'
apt 'org.projectlombok:lombok:edge-SNAPSHOT'
compileOnly 'org.projectlombok:lombok:1.18:6'
annotationProcessor 'org.projectlombok:lombok:1.18:6'
4) Добавить задачу:
tasks.withType(JavaCompile) {
options.annotationProcessorPath = configurations.apt
}
Это позволит вашей сборке завершиться успешно.
Обновление от 29 марта 2019 г.: этот обходной путь также работает с Gradle 5.3, Java JDK 10.
Спасибо.
К сожалению, этот обходной путь не решает эту проблему. Обновление IntelliJ до 2019.1 помогло.
Не могли бы вы опубликовать или дать ссылку на полный bundle.gradle файл? Я получаю ошибки сборки о том, что метод apt() не определен.
annotationProcessor 'org.projectlombok:lombok:1.18:6' Это была единственная строка, которую мне нужно было добавить.
Вы уверены, что исправление или, скорее, обходной путь не просто использует репозиторий снимков (
edge-releases), где эта ошибка уже исправлена?