Как получить Eclipse для создания MapStruct Mappers с помощью Gradle

Есть ли какая-либо специальная конфигурация, чтобы получить затмение для генерации картографов Mapstruct? В данный момент они не генерируются.

Они генерируются в сборке Gradle, но я не могу заставить их генерировать, поэтому я могу использовать их в разработке.

Я добавил это в свой build.gradle:

plugins {
    id "net.ltgt.apt" version "0.10"
}
dependencies {
    compile "org.mapstruct:mapstruct-jdk8:$mapstructVersion"
    apt "org.mapstruct:mapstruct-processor:$mapstructVersion"
}

Я также добавил плагин Eclipse для MapStruct (хотя я верю, что это на самом деле не требуется???)

Я тогда пошел Проект> Свойства> Компилятор Java> Обработка аннотации:

Скриншот

Но.apt_generated пуст, что мне не хватает?

Я использую:

Затмение: Версия: Кислородный релиз (4.7.0) Идентификатор сборки: 20170620-1800

MapStruct версии 1.2.0.CR1 (также пытается 1.1.0.FINAL)

1 ответ

Решение

Поэтому после небольшого поиска я определил, что решение заключается в том, что вы должны вручную запустить eclipse задание в граде. После этого вы должны увидеть похожее на следующее:

Решение пришло из чтения https://github.com/tbroyer/gradle-apt-plugin документов, в котором говорится:

При использовании Buildship вам придется вручную запускать задачи eclipseJdtApt и eclipseFactorypath, чтобы сгенерировать файлы конфигурации Eclipse, а затем либо запустить задачу eclipseJdt, либо вручную включить обработку аннотаций: в свойствах проекта → Компилятор Java → Обработка аннотаций, установите флажок Включить обработку аннотаций, Обратите внимание, что, хотя все эти задачи зависят от задачи eclipse, эта задача несовместима с Buildship, поэтому вам нужно явно запустить две или три вышеупомянутые задачи, а не запускать задачу eclipse.

В нем говорится, что eclipse задача несовместима со сборкой, но это, кажется, исправлено (я запустил eclipse заданий и вопросов не было)

У меня, однако, были проблемы с cleanEclipse задача, которая кажется несовместимой с Buildship.

После всего этого *MapperImpl.java классы генерируются в <project_root>/.apt_generated

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