Maven多个父子层次结构

时间:2015-04-26 08:59:54

标签: maven

我有一个以下一种方式构建的项目: 父模块名为生产,它包含两个名为 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定义或其他一些解决方案?

1 个答案:

答案 0 :(得分:2)

在没有看到你的POM的情况下,我猜你错过了<module>元素来命名生产,应用程序和库中POM中的子项。

一旦你有了这个,如果其他一切都井然有序,你可以使用mvn install从Production文件夹构建并让反应堆弄清楚构建各种模块的正确顺序是什么,取决于模块间依赖。请注意,<module>元素是子项目的相对路径,而不是与项目的GAV有关。

有关正确设置多模块项目的详细信息,请参阅http://books.sonatype.com/mvnex-book/reference/multimodule.html