maven是什么
之前有ant, 但是太灵活, 配置复杂.
按照约定>配置的原则. 更多的用约定代替配置, 使得项目目录结构, 开发过程, 编译,发布等环节标准化.
maven : 构建, 依赖管理, 仓库.
dependencyManagement
maven dependencies与dependencyManagement的区别
dependencyManagement:只是声明, 未真正引入,但是依赖引入的时候, 会优先使用这里定义的版本号;
dependencies : 真正引入依赖 ;
mvn help:effective-pom , 可以看到真正引入的jar, 方便排错.
猜测, 依赖引入和版本管理是两个事情, 可以交给不同的配置来管理. 所以引入了dependencyManagement
使用场景:项目模块很多的时候, 我们可以引入parent 的pom文件来管理公共的依赖,同时管理各个组件的版本号,使得所有的子项目使用统一版本,保证运行的一致性.