多级pom配置方法

2023-04-12

< view all posts

当一个项目之中需要包含多个module时,每个module都需要自己的pom文件,而我们的系统在CI/CD部署时必须指定一个根目录下的pom文件。此时就需要使用多级pom的写法。

父级pom文件,可以按照如下的模板配置:

    <groupId>com.example</groupId>
    <artifactId>system</artifactId>
    <version>1.0</version>
    <packaging>pom</packaging>

其中重点是,在父级项目中的pom.xml文件使用的packaging配置一定要为pom。父级的pom文件只作项目的子模块的整合,在maven install时不会生成jar/war压缩包。

接下来,在子pom中使用parent标签指定父级pom即可:

    <parent>
        <groupId>com.example</groupId>
        <artifactId>system</artifactId>
        <version>1.0</version>
    </parent>
    <artifactId>compute</artifactId>
    <version>1.0</version>
    <parent>
        <groupId>com.example</groupId>
        <artifactId>system</artifactId>
        <version>1.0</version>
    </parent>
    <artifactId>control</artifactId>
    <version>1.0</version>

最后,在父级pom中使用pluginManagement标签,可以使子pom继承相应的配置。详细在这篇笔记的最后部分记录过。