手把手教你分模块构建Maven工程
什么是分模块构建maven工程
拿我们生活中的的例子来举例
这是一辆奔驰,他身上有许多的零部件,汽车这种复杂的工程。靠一个工厂自然没法完成如此复杂的工程,于是这一个个零部件就由不同的工厂来生产,他的玻璃可能是中国的,发动机可能是德国的
在企业项目开发过程中,由于项目规模庞大,业务复杂,参与的人员比较多,一般会通过合理的模块拆分将一个大型的项目拆分为N多个小模块,分别进行开发。而且拆分出的模块可以非常容易的被其他模块复用。
常见的拆分方式有两种:
第一种:按照业务模块进行拆分,每个模块拆分成一个maven工程,例如将一个项目分为用户模块、订单模块、购物车模块等,每个模块对应就是一个maven工程
第二种:按照层进行拆分,例如持久层、业务层、表现层等,每个层对应就是一个maven工程
不管是上面哪种拆分方式,通常都会提供一个父工程,将一些公共的代码和配置提取到父工程中进行统一管理和配置。
没错工程之间也有继承关系
Maven工程继承
在java语言中,类之间是可以继承的,通过继承,子类就可以引用父类中非private的属性和方法,同样,在maven工程之间也可以继承,子工程继承父工程后,就可以使用在父工程中引入的依赖,继承的目的是为了消除重复代码
被继承的工程称为父工程,其打包方式必须为pom,这也是区分子工程还是父工程的标志
继承其他maven父工程的工程称为子工程,在其配置文件中使用parent标签进行继承
在maven中还有另一个概念即聚合
maven工程聚合
在maven工程中的pom.xml文件中可以使用标签将其他maven工程聚合到一起,聚合的目的是为了进行统一操作,
l例如拆分的maven工程有多个,如果要进行打包,就需要针对每个maven工程进行打包命令,操作起来十分繁琐,这时就可以使用标签将这些工程统一聚合到maven工程中,需要打包的时候,只需要在此工程中执行一次打包命令,其下的聚合工程就都会被打包了