maven_项目的依赖、聚合、继承

 
一、假设目前有三个maven项目,分别是project.A、project.B、project.C
要求B依赖A、C依赖B但不依赖C

1、B添加对A的依赖

1
2
3
4
5
<dependency>
            <groupId>com.project</groupId>
            <artifactId>project.A</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>

A必须先安装到本地库,否则编译B时会抛异常

A: clean install   B:clean compile

2、C添加对B的依赖,同时排除对A的依赖

1
2
3
4
5
6
7
8
9
10
11
<dependency>
            <groupId>com.project</groupId>
            <artifactId>project.B</artifactId>
            <version>0.0.1-SNAPSHOT</version>
            <exclusions>
              <exclusion>
                    <groupId>com.project</groupId>
                    <artifactId>project.A</artifactId>
              </exclusion>
            </exclusions>
        </dependency>
二、假设目前有四个maven项目,分别是project.parent、project.A、project.B、project.C

要求A、B、C整合到一个项目,并且从project.parent继承依赖

1、parent聚合A、B、C三个项目

1
<packaging>pom</packaging>
1
2
3
4
5
<modules>
<module>../project.A</module>
<module>../project.B</module>
<module>../project.C</module>
</modules>

执行clean compile 进行验证,会同时编译A、B、C三个项目

2、A、B、C分别关联parent项目

1
2
3
4
5
<parent>
        <groupId>com.project</groupId>
        <artifactId>project.parent</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>

会自动继承父类的依赖jar

如果把父类依赖放在<dependencyManagement>中管理,则子类不会自动成父类的依赖

 


原文地址:https://www.cnblogs.com/gossip/p/5574034.html