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>中管理,则子类不会自动成父类的依赖