解决Maven依赖jar包冲突总结
maven导入jar包中的一些概念:
直接依赖:项目中直接导入的jar包,就是该项目的直接依赖包。
传递依赖:项目中没有直接导入的jar包,可以通过项目直接依赖jar包传递到项目中去。
解决jar包冲突的方式:
方式一:
第一声明优先原则:哪个jar包的坐标在靠上的位置,这个jar包就是先声明的。
先声明的jar包坐标下的依赖包,可以优先进入项目中。
也就是pom文件里,谁写在上面一些谁进入项目依赖中
方式二:
路径近者优先原则。直接依赖路径比传递依赖路径近,那么最终项目进入的jar包会是路径近的直接依赖包。
比如spring-bens和spring-context中spring-core冲突了,那么我直接导入spring-core
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>5.1.0</version>
</dependency>
那么将会使用我直接依赖的版本,而不用他们传递依赖的版本了,路径近优先。
方式三【推荐使用】:
直接排除法。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
当我们要排除某个jar包下依赖包,在配置exclusions标签的时候,内部可以不写版本号。
因为此时依赖包使用的版本和默认和本jar包一样。
最新文章
- Jquery
- 【codevs1907】 方格取数 3
- [Linux] VIM 常用快捷键2
- rdesktop remember
- Data Flow ->;>; Multicast
- WScript中调用js方法
- 为dedecms v5.7的ckeditor添加jwplayer插件
- Drawable(3)Color State List Resource
- 将数组适配到ListView
- [Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds...
- C#的Main(String[] args)参数输入问题
- linux中的三个文件时间
- 在mac OX10.11.6上安装MySQL
- ubuntu下安装飞鸽传书
- linux driver ------ 字符设备驱动 之 “ 创建设备节点流程 ”
- Mac mumu模拟器设置代理
- Spark学习笔记——读写Hbase
- 自动化测试框架Taffy
- Java反射学习三
- 【BZOJ3522】[Poi2014]Hotel 树形DP
热门文章
- Python入门基础:七段数码管绘制
- Linux root 用户下 selenium 运行chrome --no-sandbox的问题的解决
- MVC设计模式用于用户注册表单提交到数据库的中文乱码问题
- 更换SVN项目资源库目录出现的问题
- 行内元素有哪些?块级元素有哪些?空(void)元素有哪些?
- 用OSS给阿里云ECS扩展硬盘容量
- charles 帮助菜单总结
- CTC安装及其错误解决办法:binding.cpp:92:49: error: cannot convert ‘THCudaTensor*’ to ‘const THFloatTensor*’ for argument ‘1’ to ‘int64_t THFloatTensor_size(const THFloatTensor*, int)’
- 21 (OC) 数据持久化
- 数据分析--pandas的基本使用