maven教程之二maven的依赖


依赖

 

依赖的查询:


 1.所有的依赖都是通过坐标来存储的(GAV)
 2.有一些网上的仓库提供了坐标的查询(mvnrepository.com)
 3.通过<dependencies>设置依赖
  例子:
   <dependencies>
    <dependency>
     <groupId>junit</groupId>
     <artifactId>junit</artifactId>
     <version>4.10</version>
     <scope>test</scope>
    </dependency>
   </dependencies>
  首先在本地仓库查询,没有再去中央仓库查询


依赖的传递性


 1.依赖会传递
 2.依赖的范围<scope></scope>,默认是complie 
  对于依赖的传递,主要针对complie作用域传递
 3.依赖冲突问题
  如果有重复的传递依赖,哪一个先写用哪一个
  如果路径长短不一致就选择最小路径(可以用排除不想用的依赖)
  如果想精确的控制依赖包,可以用依赖的排除功能exclusions


  
依赖的范围


 test只在测试时有用,编译和打包时不用
 complie编译有效,编译和打包时都会存储
 protected,在编译和测试时有效,在打包时不用,例如sevlet.api
 runtime在运行时依赖编译时不依赖


  
依赖的聚合问题  


 在一个地方编译所有的pom
 新建一个maven项目,只留pom配置文件即可
 pom中只留GAV的设置
 打包方式为pom
 然后设置modules
 <modules> 
  <module>../user-core</module>
  <module>../user-log</module>
  <module>../user-dao</module>
  <module>../user-service</module>
 </modules> 


  
依赖中的属性的定义


 <properties>
  <junit.version>4.10</junit.version>
 </properties>
 使用属性
 <version>${junit.version}</version>


依赖的继承


 建立parent的项目的pom中包为pom类型,把通用的继承写在里面
 子项目继承
 <parent>
  <groupId></groupId>
  <artifactId></artifactId>
  <version></version>
  <relativePath>../user-parent/pom.xml</relativePath>
 </parent>
  
 可以在parent项目的pom配置文件中设置,用dependencyManagement来管理依赖,不管理子项目会全部继承
  <dependencyManagement>
  <dependencies> 
  ...
  </dependencies> 
  </dependencyManagement>
 然后再子项目中只需要指定GA即可  
 
 继承和聚合放在一起

 

 ${project.version}这中用法也可以


 
版本管理


 总版本号.分支版本号.小版本号-里程碑版本
 总版本号:框架的变动
 分支版本号:一般增加了一些功能
 小版本号:在分支版本上面进行bug的修复
 里程碑:SNAPSHOT---alphe--beta--release--GA
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值