MapStruct не восстанавливает преобразователи после обновления классов Entity или DTO.JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 MapStruct не восстанавливает преобразователи после обновления классов Entity или DTO.

Сообщение Anonymous »

Я пишу REST-приложение Spring Boot (Java 17). Для сопоставления моих классов из Entity в DTO и наоборот я использую библиотеку MapStruct (версия 1.6.2). Для реализации DTO я использую Java-записи. Для создания геттеров и сеттеров в классах Entity я использую Lombok (v 1.18.34). Я использую Maven в качестве системы сборки проекта.
MapStruct успешно генерирует правильные картографы и сохраняет их в каталоге target/generated-sources. Но после создания картографов, когда я обновляю свои объекты DTO (например, переименовываю поле), MapStruct не обновляет созданные картографы. Поэтому мне приходится удалять сгенерированные картографы после каждого обновления моих классов Entities of DTO, чтобы MapStruct генерировал их снова. Есть ли какие-либо возможные решения для устранения этой проблемы или автоматизации процесса регенерации?
Я предполагаю, что проблема может быть в конфигурации плагина компилятора MapStruct или Maven. Вот моя конфигурация:

Код: Выделить всё

17
3.13.0
1.6.2
1.18.34




org.mapstruct
mapstruct
${mapstruct.version}



org.mapstruct
mapstruct-processor
${mapstruct.version}
provided



org.projectlombok
lombok
${lombok.version}




org.springframework.boot
spring-boot-maven-plugin



org.projectlombok
lombok






org.apache.maven.plugins
maven-compiler-plugin
${maven-compiler-plugin.version}

${java.version}
${java.version}



org.projectlombok
lombok
${lombok.version}


org.mapstruct
mapstruct-processor
${mapstruct.version}





Подход, который я использую на данный момент, заключается в ручном удалении каталога target/generated-sources. Также я знаю о функции Intellij IDEA запуска задач до запуска приложения (например, mvn clean), но она замедляет запуск.
Я хочу, чтобы MapStruct автоматически обновлял созданные картографы после обновления классов Entity или DTO.

Подробнее здесь: https://stackoverflow.com/questions/791 ... to-classes
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»