Jar包冲突的相关文章: 了不得,我可能发现了Jar 包冲突的秘密   一.前言 jar包冲突分多种,简单理解来说,就是同package且同名的类在多个jar包内出现,如果两个jar包在同一个classloader下,那么最终的结果是,只会加载其中的一个. 有时,这个错误一般在运行时出现,报的错可能是,找不到某方法,或者呢,更隐蔽的,不会报错,但是逻辑不对. 针对运行中的应用,可以考虑使用阿里出品的arthas来处理. 我今天呢,只是简单的找不到方法的情况,所以不需要用到那个. 我这里的场景是,…
这几天的任务是将mapbox的工程合到程序中去,但是合并过程却出现了问题 合并方法: 在app的build.gradle中添加 dependencies { compile ('com.mapbox.mapboxsdk:mapbox-android-sdk:0.7.4@aar'){ transitive=true } } 但是合并后会报错: Error:Execution failed for task ':app:dexDebug'. > com.android.ide.common.proc…
1.引用包: import org.w3c.dom.Document;import org.w3c.dom.Element;import org.w3c.dom.NodeList; 2.方法中应用: NodeList nodelist1 = root.getElementsByTagName("Content"); String Content = nodelist1.item(0).getTextContent(); 3.问题描述: 调用getTextContent()方法的时候报错…
背景: 新需求需要引入新jar包,引入后发现本地启动没有报错,发到测试环境提示某个bean无法创建,nested exception is java.lang.VerifyError: Bad type on operand stack. 解决: 1,没有引入新jar包之前是没有提示这个报错了,猜测是jar包冲突. 2,到测试环境的lib目录根据新引入jar包的关键字找到如图所示的jar,图中最下面三个jar是新功能需要引入的jar,多了excelmagic-1.3-20190806.10055…
目前在部署工程时,遇到了一个问题,报错信息如下: See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class 经检测,是工程包中含有javax.servlet包的JAR包,造成与Tomcat自身的servlet-api.jar的冲突. 1.问题的原因: tomcat 启动后先将tomcat/common/lib目录下的jar包全部读入内存,如果webapps目录里的应用程序中WEB-INF/l…
import java.io.File;import java.io.IOException;import java.util.ArrayList;import java.util.Enumeration;import java.util.List;import java.util.jar.JarEntry;import java.util.jar.JarFile; public class ClearConflict{        List<ClassJarPair> classList…
来自:http://liuwei1578.blog.163.com/blog/static/49580364200991572642653/ Jar包冲突问题是在大型Java软件开发中经常遇到的问题,系统开发人员经常会为解决类似的问题耗费大量的时间进行调试和测试,本文根据各种际情况,结合WebSphere中类加载器,讨论了几种解决jar包冲突问题的办法,并给出了具体实现的步骤及源代码.读者定位为具有Java和WebSphere开发经验的开发人员.读者可以学习到在WebSphere中类加载器的定义…
原来用过eclipse的都知道,想要升级maven工程的jar包版本或者解决jar包冲突,直接在pom文件下的dependency hierarchy视图下右击冲突的jar包,将其exclude掉,然后在pom文件的dependencies视图下点击add按钮,然后添加自己需要的jar包即可.在公司用的是idea,还不是很熟悉,摸索之下在maven窗口中点击show dependencies出现jar包的依赖关系图,如下图所示:                                  …
Maven源码调试工程搭建 思路 我们前面的文章<[曹工杂谈]Maven和Tomcat能有啥联系呢,都穿打补丁的衣服吗>分析了Maven大体的执行阶段,主要包括三个阶段: 启动类阶段,负责加载框架: 框架核心(maven core)阶段,主要负责根据参数中的goal,如clean,找到对应的插件的jar包,生成插件对象,解析参数并调用插件代码: 插件执行阶段,执行完成后,控制权会交还给框架核心,由maven core完成善后工作. 这三个阶段,分别会去不同的地方加载对应的jar包. 大概了解了…
背景 去年写了一篇"[曹工杂谈]Mysql客户端上,时间为啥和本地差了整整13个小时,就离谱",结果最近还真就用上了. 不是我用上,是组内一位同事,他也是这样:有个服务往数据库insert记录,记录里有时间,比如时间A.然后写进数据库后,数据库里的时间是A-13,晚了13小时.然后就改了这么个地方: 写进去的数据,就是正确的时间了. 后边,他还有一个查询服务,要去查写进去那条记录,比如记录有个创建时间字段,字段值是2022-02-19 00:00:00. 然后假设我查的时候,就根据这个…
maven 解决jar包冲突 1.jar包冲突原因 maven中使用坐标导入jar包时会把与之相关的依赖jar包导入(导入spring-context的jar时就会把spring的整个主体导入) ,而如果在导入两个及以上jar包坐标,而多个包会依赖同一个相关jar,而这多个jar的版本不同,就会导致jar包冲突(导入spring-context的jar时导入spring-core的jar,而导入spring-beans的jar时也会导入spring-core的jar.spring-context…
前言 在我之前使用Gradle的博文中已经提到,Gradle对依赖的管理是比较智能的,如果有两个包依赖于相同的包,而版本不同的时候,Gradle会进行自动的选择,从而避免jar包的冲突. 也就是说,在理论上使用Gradle一般情况下,不会出现jar包冲突,那么为什么会有今天这篇博文呢? Gradle可以帮你管理的是版本不同但是包相同的依赖.但是如果两个原本就不同的依赖之间互相发生冲突,这样的冲突Gradle就不能自动帮你完成了,因为它也不知道你需要哪一个. 问题描述 我这边以我出现的冲突为例:…
PeopleSoft要查找jar包冲突问题,不像maven可以打印出所有依赖,但既然是在JVM上运行,就可以启用JVM参数 路经:%ps_cfg_home%\appserv\Domain 文件名:psappsrv.cfg Section:PSTOOLS 参数:JavaVM Options 方式:附加 [PSTOOLS] ;========================================================================= ; General sett…
jar包依赖冲突,版本不兼容会导致各种各样的问题.这里推荐一款sbt插件用于查找项目中的jar包依赖关系,通过该插件可以轻松的看出某个jar包依赖哪些jar,以及某个jar被哪些jar所依赖.此外该插件还可生成可视化图形用于查看依赖关系. 插件地址:https://github.com/jrudolph/sbt-dependency-graph 引用方式: addSbtPlugin("net.virtual-void" % "sbt-dependency-graph"…
项目运行中错误信息:java.lang.IllegalStateException: Unable to complete the scan for annotations for web application [/app] due to a StackOverflowError. Possible root causes include a too low setting for -Xss and illegal cyclic inheritance dependencies. The cl…
Jar包冲突是老生常谈的问题,几乎每一个Java程序猿都不可避免地遇到过,并且也都能想到通常的原因一般是同一个Jar包由于maven传递依赖等原因被引进了多个不同的版本而导致,可采用依赖排除.依赖管理等常规方式来尝试解决该问题,但这些方式真正能彻底解决该冲突问题吗?答案是否定的.笔者之所以将文章题目起为“重新看待”,是因为之前对于Jar包冲突问题的理解仅仅停留在前面所说的那些,直到在工作中遇到的一系列Jar包冲突问题后,才发现并不是那么简单,对该问题有了重新的认识,接下来本文将围绕Jar包冲突的…
jar包冲突常见的异常为找不到类(java.lang.ClassNotFoundException).找不到具体方法(java.lang.NoSuchMethodError).字段错误( java.lang.NoSuchFieldError)或者类错误(java.lang.LinkageError): 常见的解决方法如下: 1.首先做法是打出工程文件的依赖树,将根据jar包依赖情况判定是不是同一个jar包依赖了多个版本,如果确认问题所在,直接exclusion其中错误的jar包即可: 2.如果通…
一直对于maven中解决jar包依赖问题的解决方法纠结不清: 下面这个例子可以说明一个很简单的解决方法: 项目启动报错: Connected to the target VM, address: '127.0.0.1:59412', transport: 'socket' SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/D:/document/repository/org…
在实际的 Maven 项目开发中,由于项目引入的依赖过多,遇到 jar 冲突算是一个很常见的问题了.在本文中,我们就一起来看看,如何使用 IntelliJ IDEA 解决 jar 包冲突的问题!简单粗暴,直接上示例: 标注 1: Maven Project,Maven 项目选项: 标注 2:Dependencies,项目依赖: 标注 3:Show Dependencies,展示项目依赖图. 其中,只有在点击 标注 2 所示的Dependencies之后,才会显示 标注 3 所示的Show Dep…
概述 Jar 包冲突是日常开发过程中,时常会遇到的问题.本文介绍由 jstl 的 Maven 依赖导致的 Jar 包冲突问题,以及对应的解决方法. jstl 的 Maven 依赖配置 <dependency> <groupId>javax.servlet.jsp.jstl</groupId> <artifactId>jstl-api</artifactId> <version>1.2</version> </depe…
这两天在启动一个新项目的时候,项目一直启动不了,报StackOverFlow; java.util.concurrent.ExecutionException: java.lang.StackOverflowError 这个问题第一反应就是启动参数里面JVM永久区配置的小了或者没有配置,好的,直接加上配置 <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven…
转自:http://blog.csdn.net/guanglihuan/article/details/50512855 对于Jar包冲突问题,我们开发人员经常都会有碰到,当我们使用一些jar包中的类.方法等,或者有时遇到一些日志系统的问题(参考另一篇文章Jar包冲突导致的日志问题),我们会遇到ClassNotFoundException,NoSuchFieldException,NoSuchMethodException 之类的运行时异常,从经验上我们就会判断,Jar包冲突了.解决Jar包冲突…
项目启动报错: Connected to the target VM, address: '127.0.0.1:59412', transport: 'socket' SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/D:/document/repository/org/apache/logging/log4j/log4j-slf4j-impl/2.10.0/log4j-s…
前言 大家在项目中肯定有碰到过Maven的Jar包冲突问题,经常出现的场景为: 本地运行报NoSuchMethodError,ClassNotFoundException.明明在依赖里有这个Jar包啊.怎么运行不了!? 项目中明明定义着某个jar包版本为2.0.2,怎么打包之后变成2.5.0了!? A项目引xxx.jar包运行好好的,B项目同样引入xxx.jar后,运行报错了..是B项目有问题,还是xxx.jar包有问题!? 本地环境和测试环境运行的好好的,到了生产就报一堆NoSuchMetho…
一.引言 "老婆"和"妈妈"同时掉进水里,先救谁? 常言道:编码五分钟,解冲突两小时.作为Java开发来说,第一眼见到ClassNotFoundException.NoSuchMethodException这些异常来说,第一反应就是排包.经过一通常规和非常规操作以后,往往会找到同一个Jar包引入了多个不同的版本,这时候一般排除掉低版本.保留高版本就可以了,这是因为一般Jar包都是向下兼容的.但是,如果出现版本不兼容的情况的时候,就会陷入"老婆和妈同时掉进水…
搭了个spring+struts2+mybatis的项目架子, 好久不用myEclipse和tomcat了,生疏了好多. 建议还是去百度一些框架整合的博客,直接使用博客里面给的jar包列表里的jar包,自己随意搭太痛苦了,总是jar包冲突, 而且就算百度,度娘也什么用, 百度前人的经验,告诉我说:这时候你需要谷歌或bing,我试了试,不知道是不是我笨,没领会要领(欲哭无泪·····). but! 你有张良计,我有过墙梯. 我发现百度(或者bing,或者google)如下内容: 搜索      …
SEVERE: Context initialization failedorg.springframework.beans.factory.BeanCreationException: Error creating bean with name 'bookservice': Invocation of init method failed; nested exception is org.apache.cxf.service.factory.ServiceConstructionExcepti…
为什么项目的jar包会和tomcat的jar包冲突? 碰到这个问题,猜测tomcat启动时会将自己的lib和项目的lib在逻辑上归并为一个大的lib,但是并没有做版本区分以及去重,这样相同的包可能就有两个引用,启动时自然就不知道用哪个包了,从而引发冲突.纯属猜测,等研究了tomcat的加载过程之后再补充更正.之前下载的How Tomcat Works.pdf还没来得及看,应该能解答所有问题,纯英文版的. 一下是tomcat\lib下的包,框出来的是容易不小心二次引入的包,注意下就好了. 补充:…
1.org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.NoClassDefFoundError: org/apache/axiom/soap/impl/builder/OMMetaFactoryEx [ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (…
今天测试接口,出错:java.lang.NoSuchMethodError: org.apache.http.entity.mime.content.StringBody.<init>(Ljava/lang/String;Lorg/apache/http/entity/ContentType;)V 说是jar包冲突了,搞了半天,还没有解决!…