1、前言
在大型企业项目中,系统架构复杂多变,一个项目根本无法支撑起所有业务。为了提高项目扩展性、灵活性、重用性,封装性,将项目分为多个Module是非常必要的。但是在多个子项目和父项目之间的调用就变得比较棘手了
子module项目继承父项目:
<parent>
<groupId>com.xiaoyu</groupId>
<artifactId>parent-example</artifactId>
<version>0.0.1</version>
</parent>
因为我们的子项目肯定是需要引用别的子项目的,那我们父项目应该这样:
<modules>
<module>child-A</module>
<module>child-B</module>
<module>child-C</module>
</modules>
<dependencies>
<dependency>
<groupId>com.xiaoyu</groupId>
<artifactId>child-A</artifactId>
<version>0.0.1</version>
</dependency>
<dependency>
<groupId>com.xiaoyu</groupId>
<artifactId>child-B</artifactId>
<version>0.0.1</version>
</dependency>
<dependency>
<groupId>com.xiaoyu</groupId>
<artifactId>child-C</artifactId>
<version>0.0.1</version>
</dependency>
</dependencies>
这时候假如我们child-A需要引入child-B,那么我们肯定会在child-A的pom里面这样写:
<parent>
<groupId>com.xiaoyu</groupId>
<artifactId>parent-example</artifactId>
<version>0.0.1</version>
</parent>
<dependency>
<groupId>com.xiaoyu</groupId>
<artifactId>child-B</artifactId>
<version>0.0.1</version>
</dependency>
但是这个时候会把子项目所有的引用都加过来,这时候就需要用到dependencyManagement把dependencies包起来,这样有啥用了.就是在我们子项目继承父项目的时候,并不会引入所有的dependency,而是子项目写了哪个就引入哪个.非常nice.
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.xiaoyu</groupId>
<artifactId>child-A</artifactId>
<version>0.0.1</version>
</dependency>
<dependency>
<groupId>com.xiaoyu</groupId>
<artifactId>child-B</artifactId>
<version>0.0.1</version>
</dependency>
<dependency>
<groupId>com.xiaoyu</groupId>
<artifactId>child-C</artifactId>
<version>0.0.1</version>
</dependency>
</dependencies>
</dependencyManagement>
现在就差不多了,后续再补充