正如你在标题中所读到的,我在使用Mapstruct与Kotlin和Maven时遇到了问题。
(FYI:this post中的解决方案没有为我解决这个问题)。
在mapstruct-examples/mapstruct-kotlin之后,我将kapt plugin
与依赖项一起添加到我的项目根<pluginManagement>
中:
<!-- Cut out non-kapt executions -->
<execution>
<id>kapt</id>
<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>${org.mapstruct.version}</version> <!-- :1.5.5.Final -->
</annotationProcessorPath>
</annotationProcessorPaths>
</configuration>
</execution>
字符串
然后我在每个子模块中使用它,如下所示:
<!-- Cut out unnecessary stuff again -->
<plugin>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-maven-plugin</artifactId>
</plugin>
型
为了帮助解决一些问题,这里是Map器:
@Mapper
interface CustomMapper {
fun toDTO(entity: Entity): DTO
fun toEntity(dto: DTO): Entity
}
型
1条答案
按热度按时间gk7wooem1#
解决我的问题是相当容易拉小康,并有一个更愚蠢的来源开始。
我使用Mapstruct的应用程序是一个多模块项目。其中两个模块相互依赖=>因此存在循环依赖。
我重构了这些模块,使它们彼此不依赖,这似乎解决了这个问题。