我正在创建一个多模块项目,该项目可以构建许多其他相关项目。其中一些项目也是多模块项目,在某些情况下,它们构建相同的子项目。 Maven对我大叫,但这是故意的,我希望它能够继续建立。解决maven错误:项目'XYZ'在反应器中复制
有没有人解决这个问题? 谢谢。
我正在创建一个多模块项目,该项目可以构建许多其他相关项目。其中一些项目也是多模块项目,在某些情况下,它们构建相同的子项目。 Maven对我大叫,但这是故意的,我希望它能够继续建立。解决maven错误:项目'XYZ'在反应器中复制
有没有人解决这个问题? 谢谢。
我不认为你应该那样做。 (您可以尝试定义一个配置文件 - 比如说一个完整的配置文件,在这里确保每个模块只编译一次,另一个配置文件在您执行子构建时添加额外的模块。)
但是你最好采用maven的方式 - 每个项目都应该在其自己的目录中包含仅作为模块的目录,例如只有直接的孩子。
Maven有一些非书面的隐含假设,例如 - 始终继承子目录,从父目录中的pom中继承,例如,继承树必须与你的目录树匹配,否则一些插件将无法工作,例如发布插件或一些报告插件。
简短的回答是 - 在maven中,您的项目层次结构/树中不能有两次模块。
maven中有很多错误的方法,因此必须坚持已知工作的东西 - 比如pom hierarchy ==目录结构。
您是否尝试过这些命令行选项之一?
-fae,--fail-at-end Only fail the build afterwards; allow all
non-impacted builds to continue
-fn,--fail-never NEVER fail the build, regardless of project
result
这样呢,当你有这样的结构:
+-- root-project-A
`-- pom.xml
+-- module-A
| `-- pom.xml
+-- module-B
| `-- pom.xml
+-- root-project-B
`-- pom.xml
+-- module-C
`-- pom.xml
并配置你喜欢这个模块:
|-- root-project-A
`-- pom.xml
<modules>
<module>module-A</module>
<module>module-B</module>
<module>root-project-B</module> <!-- Error: project A reference project B -->
<module>root-project-B/module-C</module> <!-- Error: project A reference project B -->
</modules>
|-- root-project-B
`-- pom.xml
<modules>
<module>module-C</module>
</modules>
项目中的不能引用该项目B,因为B没有引用A作为父母。包装必须独立