Spring Boot Mapstruct不使用Maven和Kotlin生成实现

zpqajqem  于 2023-11-17  发布在  Spring
关注(0)|答案(1)|浏览(148)

正如你在标题中所读到的,我在使用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
}

gk7wooem

gk7wooem1#

解决我的问题是相当容易拉小康,并有一个更愚蠢的来源开始。
我使用Mapstruct的应用程序是一个多模块项目。其中两个模块相互依赖=>因此存在循环依赖。
我重构了这些模块,使它们彼此不依赖,这似乎解决了这个问题。

相关问题