我正在使用具有默认配置的 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")
}
最佳答案
您可以使用注释处理器配置来配置生成的源文件的目标目录,例如,如果您希望这些文件位于“/src/generated/java”中:
compileJava {
options.annotationProcessorPath = configurations.annotationProcessor
options.setAnnotationProcessorGeneratedSourcesDirectory(file("$projectDir/src/generated/java"))
}
注意您不应在 SCM 下提交这些生成的文件,因此不要忘记更新您的“.gitignore”文件(如果您使用 Git)以排除 /src/generated/
文件夹)
关于java - 如何更改 MapStruct 生成的 *.java 文件的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54399929/