`
247687009
  • 浏览: 171680 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Maven系列(四)maven的依赖管理

阅读更多

打开建立好的maven项目的pom.xml文件



 选择 pom.xml视图



 可以看到pom文件中的junit的版本为3.8.1,项目依赖的版本也就是3.8.1,下面试着更改pom中

<version>3.8.1</version>更改为4.10保存 



 maven自动把依赖更换了,我们只需要配置几句xml 是不是很方便呢?

 

1、所有的依赖都是通过坐标来进行存储的(GAV-->groupId、artifactId、version)

2、有一些网上的仓库提供了坐标的查询(http://mvnrepository.com)

3、通过<dependencies>设置依赖



 
maven是如何搜索依赖的?首先会在本地仓库查询如果本地仓库没有,就去中央仓库查询。

 


 依赖的传递 

只需要记住<scope>test</scope>域 是不会被传递的

默认是编译compile

1、依赖是会被传递

A<--B B<--C ==> A<--C(这种依赖是基于compile这个范围进行传递)

对于依赖的传递而言,主要是针对compile作用域传递



 
依赖包的冲突问题

1、a-->b1.0 c-->b1.1 d-->a和c,这个时候在d的pom中,哪一个依赖先写就使用先写依赖的版本

2、如果希望精确的控制依赖包,可以使用依赖的排除功能进行控制



 
依赖的范围

1、test范围指的是测试范围有效,在编译和打包时都不会使用这个依赖

2、compile范围指的是编译范围有效,在编译和打包时都会将依赖存储进去

3、provided依赖:在编译和测试的过程有效,最后生成war包时不会加入,诸如:servlet-api,因为servlet-api,tomcat等web服务器已经存在了,如果再打包会冲突

4、runtime在运行的时候依赖,在编译的时候不依赖

默认的依赖范围是compile

比较好用的依赖库查询网站:http://mvnrepository.com/

  • 大小: 59.1 KB
  • 大小: 242.4 KB
  • 大小: 250.1 KB
  • 大小: 112.7 KB
  • 大小: 108.2 KB
  • 大小: 86.2 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics