我有一个以下一种方式构建的项目: 父模块名为生产,它包含两个名为 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>
Apps pom
<parent>
<groupId>com.prod</groupId>
<artifactId>apps</artifactId>
</parent>
<modules>
<module>common</module>
<module>utild</module>
</modules>
生产,应用和库的包装为pom
。
其余部分的包装为war
/ jar
。
当我尝试在Production(或任何其他模块/项目)上运行mvn install
时,我得到Non-resolvable parent POM: Failure to find
只有当我在制作,应用和 libs 上运行mvn install -N
时,我才能开始使用这些项目。< / p>
是否有更好的方法可以在不运行mvn install -N
的情况下完成成功的模块和项目对齐?一些pom
定义或其他一些解决方案?
答案 0 :(得分:2)
在没有看到你的POM的情况下,我猜你错过了<module>
元素来命名生产,应用程序和库中POM中的子项。
一旦你有了这个,如果其他一切都井然有序,你可以使用mvn install
从Production文件夹构建并让反应堆弄清楚构建各种模块的正确顺序是什么,取决于模块间依赖。请注意,<module>
元素是子项目的相对路径,而不是与项目的GAV有关。
有关正确设置多模块项目的详细信息,请参阅http://books.sonatype.com/mvnex-book/reference/multimodule.html。