dependencyManagement和dependencies的区别
区别 Dependencies
2023-06-13 09:15:28 时间
dependencyManagement和dependencies有什么区别
一、Maven的包管理
在maven中,dependencyManagement
、dependencies
和dependency
,这三个标签是用来管理项目依赖包的,但许多小伙伴都不清楚它们之间的区别,下面将讲解他们之间的区别,以及如何在项目中使用这些标签
<!-- 它们之间的嵌套关系 -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring.cloud.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
二、dependencyManagement标签
在如今的Maven项目中,工程往往呈现出父子模块工程,以模块化工程进行开发部署。一个优秀的工程,它的包管理一定是有清晰的条目的,所以如何统一的管理包的内容和版本成为了重中之重。
dependencyManagement
标签只是声明依赖,这个标签下引入的所有依赖包,都不会引入至项目。正如此标签英文字面上的意思,此标签常常出现在父工程,作为一个管理依赖包的管理者。
<dependencyManagement>
<dependencies>
<!-- 如果最外层是dependencyManagement,那么此处的所有包都不会引入 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring.cloud.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
三、dependencies标签
此标签是用来真正导入依赖包的,在此标签设置的dependency
都会真正的导入至工程,所以此标签常用于子工程,引入依赖包进行开发编码。
如果父工程使用了dependencyManagement
标签,子工程在引入依赖时,可以省去groupId
和version
标签,这将默认会和父工程的一致
如果子工程想使用另一个版本,则将version
写上,子工程这边会导入对应的依赖包
如果父工程没有使用dependencyManagement
,子工程会导入父工程dependencies
下的依赖
<dependencies>
<!-- 如果外层的是dependencies,那么此处的包都将会被引入 -->
<!-- 如果父工程使用了dependencyManagement,那么此处可以省略groupId和version -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring.cloud.version}</version>
</dependency>
</dependencies>
四、最后
我是半月,你我一同共勉!!!
相关文章
- 【说站】java io和nio的区别
- servlet和jsp中的Request转发,重定向有何区别_jsp重定向和转发的区别
- hive sql和sql的区别是什么_hives
- Nginx中unix socket和tcp socket的区别是什么
- JSP中pageEncoding和charset区别,中文乱码解决方案详解编程语言
- Uri,Url,Urn,src,href的解释和区别,个人查资料理解,不严谨,只供参考详解编程语言
- 【MM ECC VS S4】MM模块中ECC与S4的区别详解编程语言
- 深入解析Linux软链接与硬链接的区别与使用方法(linux软连接和硬链接)
- 后缀为ashx与axd的文件区别浅析
- c#各种Timer类的区别与用法介绍
- jquery获取颜色在ie和ff下的区别示例介绍