我正在使用默认配置的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")
}
答案 0 :(得分:3)
您可以使用注释处理器配置为生成的源文件配置目标目录,例如,如果您希望将这些文件放在“ / src / genic / java”中:
compileJava {
options.annotationProcessorPath = configurations.annotationProcessor
options.setAnnotationProcessorGeneratedSourcesDirectory(file("$projectDir/src/generated/java"))
}
注意,您不应在SCM下提交这些生成的文件,因此不要忘记更新您的“ .gitignore”文件(如果使用Git)以排除/src/generated/
文件夹)< / p>