Lombok не генерирует RequiredArgsConstructor и AllArgsConstructor - PullRequest
0 голосов
/ 23 января 2019

Я использую Lombok 1.16.18 и Gradle 4.0 с Java 8 и Spring-Boot 1.5.9.RELEASE.

Когда я собираю и запускаю проект, он успешно выполняется, но при вызове служб, которые включают в себя автоматическое подключение, происходит сбой с NullPointerException с использованием @RequiredArgsConstructor(onConstructor = @__(@Autowired)) или @AllArgsConstructor(onConstructor = @__(@Autowired)).

Я проверил сгенерированные классы. Им не хватает конструкторов.

Конечно, если я создаю конструкторы вручную и помещаю @Autowire, это работает. Но я работаю над большим проектом с большим количеством существующего кода и не хочу все переписывать. Любые идеи о том, почему это может произойти? Похоже, что gradle или lombok не обрабатывают эти аннотации заранее, однако все остальные @Getter, @Setter и т. Д. Работают нормально, и сгенерированные файлы .class содержат их ...

1 Ответ

0 голосов
/ 23 января 2019

Я использую только конструктор, определяя @RequiredArgsConstructor с final переменными-членами следующим образом (без использования onConstructor)

@Repository
@Slf4j
@RequiredArgsConstructor
public class FieldRepository {

    private final DSLContext dsl;

    private final DataSource dataSource;

    //... dsl and datasource are correctly injected 

}
...