如何更改MapStruct生成的* .java文件的位置?

问题描述 投票:1回答:1

我正在使用具有默认配置的MapStruct。除了构建实现(* .java)文件位置之外,一切都按预期工作。在构建应用程序之后,它们位于build / classes / java ...包含* .class文件的包中。如何配置MapStruct以避免这样的东西?

我在MapStruct网站上搜索类似的问题,但我没有找到任何东西。

//build.gradle
dependencies {
    implementation("org.mapstruct:mapstruct-jdk8:1.2.0.Final")
    annotationProcessor("org.mapstruct:mapstruct-processor:1.2.0.Final")
}
java gradle mapstruct
1个回答
3
投票

您可以使用注释处理器配置为生成的源文件配置目标目录,例如,如果您希望这些文件位于“/ src / generated / java”中:

compileJava {
    options.annotationProcessorPath = configurations.annotationProcessor
    options.setAnnotationProcessorGeneratedSourcesDirectory(file("$projectDir/src/generated/java"))

}

请注意,您不应该在SCM下提交这些生成的文件,所以不要忘记更新您的“.gitignore”文件(如果您使用Git)来排除/src/generated/文件夹)

© www.soinside.com 2019 - 2024. All rights reserved.