温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

dependencies和dependencyManagement中的dependencies区别

发布时间:2020-06-19 17:09:35 来源:网络 阅读:724 作者:caoqishun 栏目:编程语言
1.在Maven中dependencyManagement的作用对所依赖jar包进行版本管理的管理器,dependencyManagement中申明dependencies并不引入进应的Jar包,只是声明依赖。
2.独立的dependencies的依赖会引入相应的Jar包
3.Maven依赖工作过程:如果dependencies里的dependency自己没有声明version元素,那么maven就会倒dependencyManagement里面去找有没有对该artifactId和groupId进行过版本声明,如果有,就继承它,如果没有就会报错,告诉你必须为dependency声明一个version.如果dependencies中的dependency声明了version,那么无论dependencyManagement中有无对该jar的version声明,都以dependency里的version为准。

实例应用:在父pom文件中加了dependencyManagement节点,添加了一些依赖的version信息,都没问题。但是添加
   <dependency>
    <groupId>net.sf.ehcache</groupId>
    <artifactId>ehcache-core</artifactId>
    <version>2.3.0</version>
   </dependency>
maven编译就会出错。报错信息如下:
'dependencies.dependency.version' for net.sf.ehcache:ehcache-core:jar is missing. @ line 126, column 21

在子pom文件中,该依赖如下:
      <dependency>
            <groupId>net.sf.ehcache</groupId>
            <artifactId>ehcache-core</artifactId>
      </dependency>
      
解决方法:在父POM中将dependency添加到dependencyMangagemetn标签中
<dependencyManagement>
    <dependencies>
            <dependency>
                    <groupId>net.sf.ehcache</groupId>
                    <artifactId>ehcache-core</artifactId>
                    <version>2.3.0</version>
        </dependency>
    </dependencies>
</dependencyManagement>

总结:

//只是对版本进行管理,不会实际引入jar  

<dependencyManagement>  

      <dependencies>  

            <dependency>  

                <groupId>org.springframework</groupId>  

                <artifactId>spring-core</artifactId>  

                <version>3.2.7</version>  

            </dependency>  

    </dependencies>  

</dependencyManagement>  

  

//会实际下载jar包  

<dependencies>  

       <dependency>  

                <groupId>org.springframework</groupId>  

                <artifactId>spring-core</artifactId>  

       </dependency>  

</dependencies>


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI