首页 > 解决方案 > maven - 几个根 pom

问题描述

我的项目结构是这样的

├── biz
│   └── biz-pom.xml
├── new-pom.xml
└── pom.xml

我想用 构建我的项目new-pom.xml,我运行mvn -f new-pom.xml clean deploy但 findbiz-pom.xml依赖于 deploy config inpom.xml而不是new-pom.xml. 有人有想法吗?

标签: javamaven

解决方案


引用Maven – 父子 POM 示例

父 POM 相对路径

默认情况下,Maven 首先在项目的根目录中查找父 POM,然后是本地存储库,最后是远程存储库。如果父 POM 文件不位于任何其他位置,则可以使用代码标记。此相对路径应相对于项目 root

相对路径,如果没有明确给出,默认为..,即当前项目的父目录下的 pom。

<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

    <!--The identifier of the parent POM-->
    <parent>
        <groupId>com.howtodoinjava.demo</groupId>
        <artifactId>MavenExamples</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <relativePath>../baseapp/pom.xml</relativePath>
    </parent>

    <modelVersion>4.0.0</modelVersion>
    <artifactId>MavenExamples</artifactId>
    <name>MavenExamples Child POM</name>
    <packaging>jar</packaging>

</project>

所以要biz-pom.xml使用new-pom.xml,你必须指定使用<relativePath>元素内的<parent>元素。


推荐阅读