1.Maven解析依赖信息时会到本地仓库查找被依赖的包
对于自己开发的maven工程,使用mvn install 命令安装后就可以进入仓库。
2.依赖的范围
【1】compile范围依赖
对主程序是否有效:有效
对测试程序是否有效:有效
是否参与打包:参与
是否参与部署:参与
典型例子:spring-core
【2】test范围依赖
对主程序是否有效:无效
对测试程序是否有效:有效
是否参与打包:不参与
是否参与部署:不参与
典型例子:junit
【3】provided范围依赖
对主程序是否有效:有效
对测试程序是否有效:有效
是否参与打包:不参与
是否参与部署:不参与
典型例子:servlet-api.jar
3.依赖的传递性
【1】好处: 可以传递的依赖不必在每个模块工程中都重复声明,在最底层的工程中依赖
【2】注意:非compile范围的依赖不能传递。在各个工程模块中,有需要就得重复依赖。
4.依赖的排除性
【1】需要设置依赖排除的场合
【2】依赖 排除的设置方式
5.依赖的原则
【1】作用:解决模块工程之间的jar包冲突问题
【2】原则:
- 路径最短者优先
- 路径相同时先声明者优先(指的室dependency标签的声明顺序)