本篇内容介绍了“maven的dependencyManagement分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
在使用maven去build项目时,很多时候会在parent的pom文件中看到如下代码:
<dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot</artifactId> <version>2.0.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-test</artifactId> <version>2.0.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-test-autoconfigure</artifactId> <version>2.0.1.RELEASE</version> </dependency> </dependencyManagement>
那么<dependencyManagement>与<dependency>有什么区别呢?
<dependency>是用于直接引入jar,需要实际导入到classpath中。
<dependencyManagement>相当于对依赖进行版本的管理,并不会直接下载需要的依赖。而只是做一个版本的引用记录。它的目的主要是统一jar的引用(多个module)。因此,此标签通常是在parent中。
那么<dependencyManagement>与<dependency>有什么联系呢?
当使用<dependency>引入依赖的时候,可以不设置<version>。这个时候,就从<dependencyManagement>去查找对应的依赖,如果存在,则直接下载对应的版本依赖。如果没有,则会报错并提示设置<version>。
如果<dependency>设置了版本号,则会下载对应的版本jar而忽略<dependencyManagement>的依赖管理。
“maven的dependencyManagement分析”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。