dependenciesManagement 和dependencies 解释

maven项目中dependency和dependenciesManagement的区别

标签: maven pom dependencies dependenciesManage 依赖

2017年09月20日 21:40:33 421人阅读 评论(0) 收藏 举报

 

<dependencyManagement>    

<!--spring的核心包-->  

      <dependencies>    

            <dependency>    

                <groupId>org.springframework</groupId>    

                <artifactId>spring-core</artifactId>    

                 <version>${spring-version}</version>  

     </dependency>    

             

               <dependency>    

                <groupId>org.springframework</groupId>    

                <artifactId>spring-content</artifactId>    

                <version>${spring-version}</version>  

            </dependency>    

 </dependencies> </dependencyManagement>  

 

 

 

 

 

但是这样就行测试的时候,注解是不能正确导包的,仔细找了好久,发现并没有所要依赖的spring的jar包在里面,所以没有注解是很正常的存在了..

后来将<dependencyManagement>的标签拿掉,直接依赖的时候,就看到了eclipse中的buildworkspace在build,证明一点我们的操作是有效果的,是在执行操作的.而且刚刚报红的注解都已经好了...可算是度过了一关

 

总结:

dependencyManagement其实只是一个管理jar的作用的声明标签,是管理jar的版本的,其他他的什么作用都没有,只是定义找到该jar的三维坐标,并不是真正的去执行下载的jar的功能.

但是jar的版本声明是有两种方式的,

1,在dependencies中的依赖中如果没有声明jar的版本,就到dependenciesManagement中去找,找到就使用,没有就报错

2,在dependencies中声明jar的版本,则使用该版本,不管在dependenciesManagement中有没有声明jar的version,都以该jar的版本为主.

 

其实还有一个知识点,是比较绕人的,但是也是个大坑,

我们在项目中需要引入一个框架S的jar包,S.jar.而S框架的开发者为了实现S框架又在pom中引入H框架,如果我们在项目中也使用了H框架,那么H框架的版本是什么呢?此时就是dependenciesManagement的作用,不管怎样,在dependenciesManagement中只要有版本号的声明,就使用dependenciesManagement中的版本,就是这么简单粗暴!!!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值