Я работаю над проектом java 8 gradle в Eclipse (2019-09), включая lombok . Я хотел бы использовать mapstruct для преобразования моделей в dto и наоборот. Mapstruct прекрасно работает.
Проблема: У меня возникли проблемы с тем, что Eclipse создает и компилирует реализацию mapper при сохранении файла. Файлы XYMapperImpl.java/class создаются только при использовании классов ./gradlew. Собрать его с помощью gradle на самом деле не вариант, потому что это занимает некоторое время и не работает в моем рабочем процессе. Мне нужно иметь файл .class в конце, чтобы смонтировать всю папку / bin в контейнер docker.
Я использую плагин Eclipse MapStruct, однако это только для дополнения кода и быстрых исправлений но не для генерации файлов классов.
Я провел небольшое исследование: Как заставить Eclipse генерировать MapStruct Mappers с использованием Gradle или Как правильно интегрировать MapStruct с Eclipse? (Включая Lombok java агент) и некоторые другие безуспешно.
Может, я что-то упустил?
Мой файл build.gradle:
plugins {
id 'java'
id "net.ltgt.apt-eclipse" version "0.21"
id "net.ltgt.apt" version "0.21"
}
apply plugin: "java"
apply plugin: "net.ltgt.apt-eclipse"
apply plugin: "net.ltgt.apt"
repositories {
mavenCentral()
}
dependencies {
compileOnly 'org.projectlombok:lombok:1.18.10'
compile "org.mapstruct:mapstruct-jdk8:1.3.0.Final"
annotationProcessor "org.mapstruct:mapstruct-processor:1.3.0.Final" //Must be defined before the lombok annotationProcessor
annotationProcessor 'org.projectlombok:lombok:1.18.6'
}
В качестве примера я создал простой демонстрационный проект .