前言:
maven的聚合特性能把项目的各个模块聚合在一起构建,maven的继承特性则能帮助抽取各个模块相同的依赖和插件等配置,在简化POM的同时还成促进各个模块配置的一致性。
测试类的包名结构和实际代码保持一致,测试类中不测试实现,只测试接口,也就是说测试代码不能引用实现类。
聚合:快速构建项目继承:消除重复配置
聚合
方便一次构建聚合项目下的各个子模块。打包方式为pom,仅仅是帮助聚合其他模块构建的工具,本身并无实质的内容。
当在聚合模块执行mvn命令时,首先会解析聚合模块的POM,分析要构建的模块,并计算出一个反应堆构建顺序(Reactor Build Order),然后根据这个顺序依次构建各个模块。
继承
父工程打包类型也必须为pom。父模块只是为了帮助消除配置的重复,因此它本身不包含除POM之外的项目文件,也就不需要src/main/java/之类的文件夹了。
relativePath 表示父模块POM的相对路径。maven首先根据relativePath检查父POM,如果找不到,再从本地仓库查找。relativePath的默认值是../pom.xml。即maven中默认父pom是在上一层目录下
可继承的POM元素
- groupId:项目组ID