Lombok перестает работать после обновления gradle

#java #gradle #lombok

#java #gradle #ломбок

Вопрос:

Мой build.gradle содержит зависимость:

 ...
testCompile group: 'org.projectlombok', name: 'lombok', version: '1.18.12'
...
  

Когда я обновляю свой gradle с 4.9 до 6.6.1 , я получаю ошибки:

 required: no arguments
found: ...
reason: actual and formal argument list differ in length
  

Все мои классы, которые используют @AllArgsConstructor , терпят неудачу на compileTestJava этапе gradle. Кто-нибудь знает, почему?

Комментарии:

1. Вы добавили lombok annotationProcessor , как показано в документах? projectlombok.org/setup/gradle

2. Просто проверил и testAnnotationProcessor решил это. Спасибо, если вы дадите ответ, который я с радостью приму.

3. Интересно, почему это работало на старом gradle.

4. Это работало в более старых версиях Gradle, потому что Gradle также сканировал другие конфигурации для процессоров аннотаций. Это было изменено. Поскольку процессор не обязательно должен быть доступен во время выполнения, большинство процессоров аннотаций в любом случае находятся в двух зависимостях (один для аннотаций, один для процессора).

Ответ №1:

Вы также должны добавить lombok в testAnnotationProcessor :

 testAnnotationProcessor 'org.projectlombok:lombok:1.18.12'
  

Также настройте версию по своему усмотрению.