1.<parent>标签
假设有A,B,C三个项目要同时使用mybatis的依赖,一般的做法是在各自的pom文件里依赖mybatis,然而,突然有一天,mybatis的版本要发生改变,这时候要一个一个去的pom文件里修改mybatis的版本号,当项目多的时候,这时候效率就比较低,因此,<parent>的出现,改变了这一现状,将mybatis定义到parent项目里,没有其它代码,只有一个pom文件,pom文件里定义了mybatis的依赖和版本,每个项目要里面定义parent的标签,当mybatis版本发生改变时,只需要修改parent文件里的mybatis依赖即可。
2.<dependencyManagement>
Maven中dependencyManagement的作用其实相当于一个对所依赖jar包进行版本管理的管理器。
(1)如果dependencies里的dependency自己没有声明version元素,那么maven就
会倒dependencyManagement里面去找有没有对该artifactId和groupId进行过版本声明,如果有,就继承它,如果
没有就会报错,告诉你必须为dependency声明一个version
(2)如果dependencies中的dependency声明了version,那么无论dependencyManagement中有无对该jar的version声明,都以dependency里的version为准。