jar包冲突时怎么办
因为项目中会依赖许多jar包,免不得就会有冲突,那怎么解决呢?
使用
mvn dependency:tree
可以看到各个包的依赖关系
[INFO] | +- commons-cli:commons-cli:jar:1.4:compile
[INFO] | +- net.sourceforge.cpdetector:cpdetector:jar:1.0.7:compile
[INFO] | | +- antlr:antlr:jar:2.7.7:compile
[INFO] | | +- net.sourceforge.jchardet:jchardet:jar:1.0:compile
[INFO] | | \- net.sourceforge.jargs:jargs:jar:1.0:compile
[INFO] | | \- junit:junit:jar:4.13:compile
[INFO] | | \- org.hamcrest:hamcrest-core:jar:2.2:compile
[INFO] | +- org.odata4j:odata4j-core:jar:0.8.0:compile
[INFO] | | \- org.core4j:core4j:jar:0.5:compile
[INFO] | +- org.apache.poi:poi-ooxml:jar:3.15:compile
[INFO] | | +- org.apache.poi:poi:jar:3.15:compile
[INFO] | | +- org.apache.poi:poi-ooxml-schemas:jar:3.15:compile
[INFO] | | | \- org.apache.xmlbeans:xmlbeans:jar:2.6.0:compile
[INFO] | | | \- stax:stax-api:jar:1.0.1:compile
[INFO] | | \- com.github.virtuald:curvesapi:jar:1.04:compile
[INFO] | +- commons-io:commons-io:jar:2.6:compile
[INFO] | +- com.fasterxml.jackson.core:jackson-core:jar:2.11.0:compile
[INFO] | +- com.fasterxml.jackson.core:jackson-annotations:jar:2.11.0:compile
[INFO] | +- org.apache.commons:commons-csv:jar:1.5:compile
[INFO] | +- org.pacesys:openstack4j-core:jar:3.1.0:compile
[INFO] | | +- com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:jar:2.11.0:compile
[INFO] | | \- com.github.fge:json-patch:jar:1.9:compile
[INFO] | | \- com.github.fge:jackson-coreutils:jar:1.6:compile
[INFO] | | \- com.github.fge:msg-simple:jar:1.1:compile
[INFO] | | \- com.github.fge:btf:jar:1.2:compile
[INFO] | +- org.pacesys.openstack4j.connectors:openstack4j-httpclient:jar:3.1.0:compile
[INFO] | +- com.github.oshi:oshi-core:jar:3.4.4:compile
[INFO] | | +- net.java.dev.jna:jna-platform:jar:4.5.0:compile
[INFO] | | | \- net.java.dev.jna:jna:jar:4.5.0:compile
[INFO] | | \- org.threeten:threetenbp:jar:1.3.6:compile
[INFO] | +- joda-time:joda-time:jar:2.9.9:compile
[INFO] | +- com.ecwid.consul:consul-api:jar:1.3.0:compile
[INFO] | | \- com.google.code.gson:gson:jar:2.8.6:compile
[INFO] | +- com.toastcoders:yavijava:jar:6.0.03:compile
[INFO] | | +- org.apache.directory.studio:org.dom4j.dom4j:jar:1.6.1:compile
[INFO] | | \- log4j:log4j:jar:1.2.17:compile
[INFO] | +- org.apache.commons:commons-pool2:jar:2.8.0:compile
[INFO] | +- org.apache.axis:axis:jar:1.4:compile
[INFO] | +- commons-discovery:commons-discovery:jar:0.2:compile
[INFO] | +- org.apache.axis:axis-jaxrpc:jar:1.4:compile
[INFO] | +- org.apache.axis:axis-saaj:jar:1.4:compile
[INFO] | \- wsdl4j:wsdl4j:jar:1.6.3:compile
[INFO] +- org.springframework.boot:spring-boot-starter-web-services:jar:2.3.0.RELEASE:compile
[INFO] | +- com.sun.xml.messaging.saaj:saaj-impl:jar:1.5.2:compile
[INFO] | | +- jakarta.xml.soap:jakarta.xml.soap-api:jar:1.4.2:compile
[INFO] | | +- org.jvnet.staxex:stax-ex:jar:1.8.3:compile
[INFO] | | \- com.sun.activation:jakarta.activation:jar:1.2.2:runtime
[INFO] | +- jakarta.xml.ws:jakarta.xml.ws-api:jar:2.3.3:compile
[INFO] | | \- jakarta.jws:jakarta.jws-api:jar:2.1.0:runtime
找到冲突的包是属于那个依赖产生的,然后pom里使用exclusion标签,排除即可
比如排除spring-boot-starter-logging的依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
<version>${spring.boot.version}</version>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
jar包冲突时怎么办的更多相关文章
- was(websphere application server)中用apache的httpclient时jar包冲突问题的解决
这个问题可以用was的共享库解决. 具体解决方案如下图所示: 对于有多个jar包冲突时,为每个冲突的jar包都新建一个共享库即可. 我之前的错误操作是以为一个共享库可以添加多个冲突的jar包用分号和逗 ...
- Maven 解决JAR包冲突
在JAR 冲突的情况下, 利用Eclipse方式解决JAR包冲突时比较方便简洁的,步骤如下 1. 在Eclipse 中打开pom.xml , 选择 “Dependency Hierarchy” 2 ...
- 一个jar包冲突引起的StackOverflowError
项目运行中错误信息:java.lang.IllegalStateException: Unable to complete the scan for annotations for web appli ...
- mvn解决jar包冲突
转自:http://blog.csdn.net/guanglihuan/article/details/50512855 对于Jar包冲突问题,我们开发人员经常都会有碰到,当我们使用一些jar包中的类 ...
- 如何解决使用Gradle时出现的jar包冲突
前言 在我之前使用Gradle的博文中已经提到,Gradle对依赖的管理是比较智能的,如果有两个包依赖于相同的包,而版本不同的时候,Gradle会进行自动的选择,从而避免jar包的冲突. 也就是说,在 ...
- 为什么项目的jar包会和tomcat的jar包冲突?
为什么项目的jar包会和tomcat的jar包冲突? 碰到这个问题,猜测tomcat启动时会将自己的lib和项目的lib在逻辑上归并为一个大的lib,但是并没有做版本区分以及去重,这样相同的包可能就有 ...
- sbt公布assembly解决jar包冲突 deduplicate: different file contents found in the following
一个.问题定义 近期使用sbt战斗assembly发生故障时,包,在package什么时候,发生jar包冲突/文件冲突,两个相同class来自不同jar包classpath内心冲突. 有关详细信息:我 ...
- 记一次jar包冲突
题记:永远不要在同一个项目中,引用不同版本的两个jar包,否则,这可能就是一个大坑. 在做网校项目的时候,帮助中心要使用lucene,所以就引入了lucene-5.5.1的包,删掉了原先存在于项目中的 ...
- 重新看待Jar包冲突问题及解决方案
Jar包冲突是老生常谈的问题,几乎每一个Java程序猿都不可避免地遇到过,并且也都能想到通常的原因一般是同一个Jar包由于maven传递依赖等原因被引进了多个不同的版本而导致,可采用依赖排除.依赖管理 ...
随机推荐
- 在Apache上用mod_wsgi部署Flask (python 3.8, Ubuntu)
因为项目源码用了一些>python3.5的语法糖,但是Ubuntu的mod_wsgi包对应的是python3.5,所以采用从pip安装mod_wsgi的方法 参考: Flask教程 mod_ws ...
- [opencv]膨胀腐蚀
Mat dilateimg; Mat element = getStructuringElement(MORPH_RECT, Size(3, 3)); dilate(canny, dilateimg, ...
- 使用.NET 6开发TodoList应用(14)——实现查询过滤
系列导航及源代码 使用.NET 6开发TodoList应用文章索引 需求 在查询请求中,还有一类常见的场景是过滤查询,也就是有限制条件的查询,落在数据库层面就是常用的Where查询子句.实现起来也很简 ...
- 对比显示每条线路的价格和该类型线路的平均价格,分别使用子查询和 exists 获取线路数量
查看本章节 查看作业目录 需求说明: 对比显示每条线路的价格和该类型线路的平均价格 分别使用子查询和 exists 获取线路数量超过"出境游"线路数的线路类型信息,要求按照线路数升 ...
- iNeuOS工业互联网操作系统,增加DTU与平台实时交互的应用场景
目 录 1. 概述... 2 2. 平台演示... 2 3. 硬件设置... 2 4. 应用过程... 3 1. 概述 DTU向下连接硬件传感器 ...
- Java中List与数组互相转换
1.说明 在Java中,经常遇到需要List与数组互相转换的场景. List转换成数组,可以使用List的toArray()或者toArray(T[] a)方法. 数组转换成List,可以使用Arra ...
- 微信小程序--数据共享与方法共享
目录 全局数据共享 Mobox npm安装及其注意事项 小程序对 npm 的支持与限制 npm 依赖包的安装与使用 Mobox 1. 全局数据共享 2. 小程序中的全局数据共享方案 3. 使用mobx ...
- nginx+keepalived 简单实现主备和双主模式
准备nginx和keepalived 安装nginx(自行安装) yum install nginx 安装keepalived(安装包安装总报错,yum安装能好一点) yum install keep ...
- 第10组 Beta冲刺 (1/5)
1.1基本情况 ·队名:今晚不睡觉 ·组长博客:https://www.cnblogs.com/cpandbb/p/14012521.html ·作业博客:https://edu.cnblogs.co ...
- shell基础知识查缺补漏
最近在看<Linux程序设计(第4版)>,其中有一个章节主要讲了shell脚本方面的,内容不细,但是利用较短的篇幅讲的也不少了.对我们自己来说也是一个查缺补漏的过程,所以就写下这篇读书笔记 ...