一、假设目前有三个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>中管理,则子类不会自动成父类的依赖