简述Maven中的‘传递性’关键词

简介: 简述Maven中的‘传递性’关键词

写在前面


Maven是我们在项目中常用的项目管理工具了,被用于构建和管理各种项目,今天我们的问题呢,就是Maven中的一个关键知识点的解释,那就是传递性。


下面就一起来学习一下吧。


正文


Maven在引入相应的jar包依赖时,由于其它依赖中已然有了某个或者是某些jar包的依赖了,maven会自动将其的依赖关系导入到本依赖模块中。


如,A模块中存在对springboot-web的依赖关系,

这个时候,当B模块中引入A模块的依赖时,springboot-web的依赖将自动传递到B模块中。


此时,B模块中不用再配置springboot-web的依赖了,会根据传递过来的依赖自动导入相应的jar包进去。


这就是maven的传递性,但是由于每个依赖模块都有自己的依赖关系,这个时候就会存在冲突,这里maven是利用了路径最短优先原则,如两者的路径长度相同的情况下,则会根据依赖模块的引入顺序决定使用哪个依赖模块下的依赖jar包。


这里也可以使用exclusions标签进行对部分依赖jar包的手动剔除,以避免依赖冲突导致项目启动或者开发过程中的部分问题。


总结


Maven的传递性给开发者节省了很多的时间,只要能有效的处理依赖冲突的问题就可以了。


相关文章
|
6天前
|
Java Maven
Maven【3】( 依赖的范围,传递性和依赖的排除)(命令行操作)
Maven【3】( 依赖的范围,传递性和依赖的排除)(命令行操作)
25 0
|
Java Maven Spring
[Maven实战](9)传递性依赖
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/SunnyYoona/article/details/50612701 了解Spring的朋友都知道,创建一个Spring Framework项目都需要依赖什么样的Jar包。
1051 0
|
3天前
|
Java Apache Maven
Maven 项目文档
在C:/MVN下,使用命令`mvn archetype:generate -DgroupId=com.companyname.bank -DartifactId=consumerBanking -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false`创建Maven Java项目。确保`pom.xml`包含`maven-site-plugin`和`maven-project-info-reports-plugin`配置,版本分别至少为3.3和2.7,以避免`NoClassDefFoundError`。
|
4天前
|
Java Maven
SpringBoot项目的用maven插件打包报Test错误
SpringBoot项目的用maven插件打包报Test错误
|
6天前
|
Java Apache Maven
Maven 项目文档
在 `C:/MVN` 目录下创建 Maven 项目 `consumerBanking` 使用命令:`mvn archetype:generate -DgroupId=com.companyname.bank -DartifactId=consumerBanking -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false`。为解决 `mvn site` 命令执行时的 `NoClassDefFoundError`
|
2天前
|
Java Maven
Maven 构建 Java 项目
使用 Maven 的 archetype:generate 命令创建 Java 项目,如 `mvn archetype:generate` -DgroupId=com.companyname.bank -DartifactId=consumerBanking -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false,在 C:\MVN 下生成基于 maven 的 consumerBanking 项目。
|
3天前
|
前端开发 JavaScript Java
Maven实战 Item3 -- Maven项目构建2_构建一个maven2 3项目
Maven实战 Item3 -- Maven项目构建2_构建一个maven2 3项目
|
3天前
|
JavaScript 安全 前端开发
Maven实战 Item2 -- Maven项目构建(手动)_term2 配置maven(2)
Maven实战 Item2 -- Maven项目构建(手动)_term2 配置maven(2)

热门文章

最新文章

推荐镜像

更多