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

时间:2019-01-28 10:27:03

标签: java gradle mapstruct

我正在使用默认配置的MapStruct。除了构建实现(*。java)文件位置以外,其他所有操作均按预期进行。构建应用程序后,它们位于具有 *。class 文件的 build / classes / java ... 包中。如何配置MapStruct以避免此类问题?

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

//build.gradle
dependencies {
    implementation("org.mapstruct:mapstruct-jdk8:1.2.0.Final")
    annotationProcessor("org.mapstruct:mapstruct-processor:1.2.0.Final")
}

1 个答案:

答案 0 :(得分:3)

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

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

}

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