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传递依赖等原因被引进了多个不同的版本而导致,可采用依赖排除.依赖管理 ...
随机推荐
- 利用 jQuery 操作页面元素的方法,实现电商网站购物车页面商品数量的增加和减少操作,要求单项价格和总价随着数量的改变而改变
查看本章节 查看作业目录 需求说明: 利用 jQuery 操作页面元素的方法,实现电商网站购物车页面商品数量的增加和减少操作,要求单项价格和总价随着数量的改变而改变 当用户单击"+" ...
- 使用 JavaScript 的 HTML 页面混合、JavaScript 文件引用和 HTML 代码嵌入 3 种方式在 HTML 页面上打印出“点击我进入到百度首页”的超链接
查看本章节 查看作业目录 需求说明: 使用 JavaScript 的 HTML 页面混合.JavaScript 文件引用和 HTML 代码嵌入 3 种方式在 HTML 页面上打印出"点击我进 ...
- Asp.Net Core 使用Monaco Editor 实现代码编辑器
在项目中经常有代码在线编辑的需求,比如修改基于Xml的配置文件,编辑Json格式的测试数据等.我们可以使用微软开源的在线代码编辑器Monaco Editor实现这些功能.Monaco Editor是著 ...
- [学习笔记] IT项目管理 - 挣值管理(EVM)
挣值管理(EVM) 挣值管理(Earned Value Management, EVM)是成本管理里面较为重点的知识点,但是也可以用来综合考察项目范围.进度和成本绩效,经常需要做相关计算. 基本概念P ...
- IdentityServer4 综合应用实战系列 (一)登录
这篇文章主要说登录,这里抛开IdentityServer4的各种模式,这里只说登录 我们要分别实现 4中登录方式来说明, IdentityServer4本地登陆 . Windows账户登录(本地的电 ...
- 前端如何低门槛开发iOS、Android、小程序多端应用
现如今跨平台开发技术已不是什么新鲜话题了,在市面上也有一些开源的框架可供选择,然而技术成熟.产品服务健全的平台并不多,其中也不乏推陈出新的框架值得关注. 比如最近使用的AVM,由APICloud迭代推 ...
- linux获取 GPG 密钥失败
实质性问题就是自己系统没有yum的GPG密钥 查看自己系统版本 cat /etc/issue 登陆mirrors.163.com 找到自己系统对应的密钥 RPM-GPG-KEY-CentOS-3 ...
- Android官方文档翻译 十七 4.1Starting an Activity
Starting an Activity 开启一个Activity This lesson teaches you to 这节课教给你 Understand the Lifecycle Callbac ...
- 今日学习——蓝桥杯 2019年 C语言 B组
1.手淦(亲身体验,,,没啥大用,最终还是代码) 2.代码(下面是我看其他博主代码答案能看的懂的....具体的可以直接去下面的网址看) https://blog.csdn.net/qq_4452491 ...
- 【笔记】thanos ruler组件
阅读官网文档后的笔记:https://thanos.io/tip/components/rule.md/ 感受 官网第一个话就强调风险,看来坑很多,能不用尽量不用 recording rule &am ...