Maven学习笔记(3)—— Maven的依赖

maven依赖的范围

Maven学习笔记(3)—— Maven的依赖

  1. compile范围的依赖
  • 对主程序 :有效
  • 对测试程序 :有效
  • 参与打包 :参与
    Maven学习笔记(3)—— Maven的依赖
  1. test范围的依赖
  • 对主程序 :无效
  • 对测试程序 :有效
  • 参与打包 :不参与
  1. provide范围的依赖
  • 对主程序 :有效
  • 对测试程序 :有效
  • 参与打包 :不参与
    Maven学习笔记(3)—— Maven的依赖

Maven依赖的原则

  1. 路径最短者优先
    Maven学习笔记(3)—— Maven的依赖
  2. 最先声明者优先
    Maven学习笔记(3)—— Maven的依赖
    在Modal-3 pom.xml文件中 Modal-2的声明早于Modal-1

Maven依赖的传递性

Maven学习笔记(3)—— Maven的依赖
Modal-2 依赖Modal-1
Maven学习笔记(3)—— Maven的依赖
Modal-1中依赖spring-core
Maven学习笔记(3)—— Maven的依赖
根据依赖的传递性,Modal-2中也会添加spring-core的依赖
Maven学习笔记(3)—— Maven的依赖
Maven学习笔记(3)—— Maven的依赖

Maven依赖的排除

Maven学习笔记(3)—— Maven的依赖
假设Modal-2依赖Modal-1,但不想依赖spring-core中的commons-logging包
Maven学习笔记(3)—— Maven的依赖
可以看到Modal-2中没了commons-logging的依赖
Maven学习笔记(3)—— Maven的依赖
Maven学习笔记(3)—— Maven的依赖