Я хочу использовать Mapstruct для отображения внутренних моделей на модели, сгенерированные с помощью OpenApi3 codegen в проекте Kotlin.
Когда я компилирую проект, создается впечатление, что Mapstruct не может найти источники, сгенерированные плагином кодегена OpenApi3, так как результирующая реализация содержит NonExistentClass
вместо моей модели OpenApi.
Моя конфигурация плагина
<plugin>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-maven-plugin</artifactId>
<configuration>
<args>
<arg>-Xjsr305=strict</arg>
</args>
<compilerPlugins>
<plugin>spring</plugin>
<plugin>jpa</plugin>
</compilerPlugins>
</configuration>
<dependencies>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-maven-allopen</artifactId>
<version>${kotlin.version}</version>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-maven-noarg</artifactId>
<version>${kotlin.version}</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>kapt</id>
<phase>process-sources</phase>
<goals>
<goal>kapt</goal>
</goals>
<configuration>
<sourceDirs>
<sourceDir>src/main/kotlin</sourceDir>
<sourceDir>src/main/java</sourceDir>
</sourceDirs>
<annotationProcessorPaths>
<annotationProcessorPath>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>${mapstruct.version}</version>
</annotationProcessorPath>
</annotationProcessorPaths>
</configuration>
</execution>
<execution>
<id>compile</id>
<phase>process-sources</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
<execution>
<id>test-compile</id>
<phase>process-test-sources</phase>
<goals>
<goal>test-compile</goal>
</goals>
</execution>
</executions>
</plugin>
Кажется, что проблема связана с kapt
поиском сгенерированных источников Java.
Моя конфигурация повреждена или я сталкиваюсь с ограничениемКотлин процессор аннотаций?
РЕДАКТИРОВАТЬ: Простой пример, чтобы воспроизвести это можно найти здесь: https://github.com/tobisinghania/kotlin-openapi3-mapstruct-failure