Как заставить benas/jPopulator работать с ломбоком

В моем проекте я использую библиотеку lombok, чтобы скрыть шаблонную часть кода. В настоящее время я пытаюсь автоматически сгенерировать множество данных, поэтому я выбрал для этого библиотеку benas / jPopulator - кажется, именно то, что мне нужно.

Проблема в том, что я получаю следующее исключение:

java.lang.NoSuchMethodException: Property '***' has no setter method in class ***

В то время как других сеттеров и геттеров нет, кроме Lombok, кажется, что jPopulator их не видит. Хотя код хорошо скомпилирован, а приложение работает полностью нормально.

Есть ли способы заставить эти две библиотеки работать вместе?

ОБНОВЛЕНИЕ Кажется, что проблема не в самом jPopulator, а в базовой библиотеке org.apache.commons.beanutils.PropertyUtilsBean, который не может найти метод доступа и терпит неудачу. С другой стороны, в мастер-версии jPopulator ребята начали устанавливать свойства самостоятельно:

https://github.com/benas/jPopulator/blob/jpopulator-1.2.0/src/main/java/io/github/benas/jpopulator/impl/PopulatorImpl.java#L185 vs

https://github.com/benas/jPopulator/blob/master/jpopulator-core/src/main/java/io/github/benas/jpopulator/impl/PopulatorImpl.java#L260

Единственный вопрос, есть ли способ использовать мастер-версию через Maven?

1 ответ

Решение

Как уже говорилось в проблеме 42, проблема заключается в том, @Accessors(chain = true) который генерирует текущие методы получения и установки, которые не соответствуют стандартному определению Java Bean. Вот почему Apache Common's PropertyUtils.setProperty не находит стандартный установщик.

jPopulator предназначен для заполнения стандартных Java Beans.

Относительно того, как использовать текущую версию снимка через maven central, это задокументировано здесь.

Надеюсь это поможет. С уважением. Махмуд

Другие вопросы по тегам