更改生成的映射器的位置 类

changing the location of the generated mapper classes

我按照文档中的描述将 MapStruct 与 maven 一起使用(http://mapstruct.org/documentation/stable/reference/html/). Now I'd like to change the location of the generated mapper classes from target to source folder. I've read and M2E and having maven generated source folders as eclipse source folders 并通过使用 maven-processor-pluginapt-maven-plugin 也可能工作。除此之外,我还必须从 maven-compiler-plugin。否则,maven 构建失败,因为生成的代码在“generated-sources”(已更改的输出文件夹)和“target\generated-sources\annotations 下重复”(默认输出文件夹)。 但是现在每次我在 eclipse 中点击“Maven”——>“Update Project”时,我都必须重新启用 "enable annotation processing"项目属性。当我手动更改 eclipse 中的 "Generated source directory" 时,它也会被覆盖。

那么是否可以在 maven 中更改输出目录并在 eclipse 中保持 "Enable annotation processing" 启用?我正在使用安装了 MapStruct 和 m2e-apt 插件的 eclipse JEE oxygen。如果有帮助,我也在使用 Spring Boot 1.5.9

您要查找的是 maven-compilergeneratedSourcesDirectory 选项。 属性 控制 Java 注释处理器输出生成源的位置。

我认为如果你设置它,Eclipse 和 Maven 之间的集成应该可以正常工作,你应该得到一切而不需要 build-helper-maven-plugin