我有一个以以下方式构建的项目: 父模块名为Production,它包含两个名为apps和libs的模块,每个模块都包含不同的项目。
Production
apps
common
utils
libs
api
dev
生产pom
<groupId>com.prod</groupId>
<packaging>pom</packaging>
<modules>
<module>libs</module>
<module>apps</module>
</modules>
应用程序 pom
<parent>
<groupId>com.prod</groupId>
<artifactId>apps</artifactId>
</parent>
<modules>
<module>common</module>
<module>utild</module>
</modules>
其中生产、应用程序和库的打包是pom
。
其余的包装是 war
/jar
。
当我尝试在生产(或任何其他模块/项目)上运行 mvn install
时,我收到 Non-resolvable Parent POM: Failure to find
只有当我在 Production、apps 和 libs 上运行 mvn install -N
时,我才终于可以开始处理项目。
是否有更好的方法可以在不运行 mvn install -N
的情况下成功完成模块和项目对齐?一些 pom
定义或其他解决方案?
最佳答案
如果没有看到你的 POM,我猜你缺少 <module>
在生产、应用程序和库 POM 中命名子元素的元素。
完成后,如果其他一切都按顺序进行,您可以使用 mvn install
从 Production 文件夹进行构建。并让 react 器根据模块间的依赖关系找出构建各个模块的正确顺序。请注意 <module>
elements 是子项目的相对路径,与项目的 GAV 无关。
参见http://books.sonatype.com/mvnex-book/reference/multimodule.html有关多模块项目正确设置的更多信息。
关于Maven 多重父子层次结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29875654/