Maven 解决JAR包冲突】的更多相关文章

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…
在JAR 冲突的情况下, 利用Eclipse方式解决JAR包冲突时比较方便简洁的,步骤如下 1. 在Eclipse 中打开pom.xml , 选择  “Dependency  Hierarchy” 2, 在Filter 输入框中,输入冲突的jar,  比如: slf4j 3. 右边会显示所有依赖此包的JAR包 4.  如果你需要排除 冲突, 可以右键单击: 选择  exclude Maven artifact... 进行以上操作后, MAVEN 的依赖关系如下(举列如下:) 排除前: <depe…
一.起源 引入二方jar maven 包后出现 NoSuchMethodError org.apache.commons.lang3.StringUtils.isNoneEmpty . 第一感觉就是jar包冲突. 二.排除过程 1.打开 idea terminal. 2.输入命令:mvn dependency:tree 发现2个lang包,随后去2.3版本找,发现并没有isNoneEmpty这个方法, 所以程序里引用的commons-lang:jar:2.3. 三.解决方法 由上图可以知道com…
原来用过eclipse的都知道,想要升级maven工程的jar包版本或者解决jar包冲突,直接在pom文件下的dependency hierarchy视图下右击冲突的jar包,将其exclude掉,然后在pom文件的dependencies视图下点击add按钮,然后添加自己需要的jar包即可.在公司用的是idea,还不是很熟悉,摸索之下在maven窗口中点击show dependencies出现jar包的依赖关系图,如下图所示:                                  …
maven导入jar包中的一些概念:      直接依赖:项目中直接导入的jar包,就是该项目的直接依赖包.      传递依赖:项目中没有直接导入的jar包,可以通过项目直接依赖jar包传递到项目中去. 解决jar包冲突的方式: 方式一:      第一声明优先原则:哪个jar包的坐标在靠上的位置,这个jar包就是先声明的.      先声明的jar包坐标下的依赖包,可以优先进入项目中. 也就是pom文件里,谁写在上面一些谁进入项目依赖中 方式二:      路径近者优先原则.直接依赖路径比传…
在idea中开发web项目,解决maven的jar包冲突的方法 第一步: 先对项目进行 clean ,再进行install 第二步: 出现NoSuchMethodException,ClassNotFoundException,NoClassDefFoundError极大概率是jar冲突. 所以,这个时候,就可以根据报错,确定jar包名称,然后打开maven依赖树,搜索对应jar包 1.根据报错,确定冲突jar包名 根据报错具体错误信息,错误行数,点进去,看看是哪个类,存在于哪个jar包. 2.…
Maven中jar包冲突是开发过程中比较常见而又令人头疼的问题,我们需要知道 jar包冲突的原理,才能更好的去解决jar包冲突的问题.本文将从jar包冲突的原理和解决两个方面阐述Maven中jar包冲突的解决办法. 一.Maven中jar包冲突产生原因MAVEN项目运行中如果报如下错误: Caused by:java.lang.NoSuchMethodErrorCaused by: java.lang.ClassNotFoundException 十有八九是Maven jar包冲突造成的.那么j…
首先我们在idea中创建一个maven工程,我们只关注pom.xml以及External Libraries中导入的jar包 导入spring-beans.jar <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>4.1.2.RELEASE</version> </dep…
一个.问题定义 近期使用sbt战斗assembly发生故障时,包,在package什么时候,发生jar包冲突/文件冲突,两个相同class来自不同jar包classpath内心冲突. 有关详细信息:我有一个self4j的jar, hadoop-common-hdfs的jar包.当中hadoop-common-hdfs.jar内包括了self4j这个jar包,导致冲突. 此类异常通常是由于打包不规范和打包疏忽引起的. (个人觉得正确的打包策略是:仅仅打包自己核心功能.不将依赖打包在一起.可是有时为…
在实际的 Maven 项目开发中,由于项目引入的依赖过多,遇到 jar 冲突算是一个很常见的问题了.在本文中,我们就一起来看看,如何使用 IntelliJ IDEA 解决 jar 包冲突的问题!简单粗暴,直接上示例: 标注 1: Maven Project,Maven 项目选项: 标注 2:Dependencies,项目依赖: 标注 3:Show Dependencies,展示项目依赖图. 其中,只有在点击 标注 2 所示的Dependencies之后,才会显示 标注 3 所示的Show Dep…
转自:http://blog.csdn.net/guanglihuan/article/details/50512855 对于Jar包冲突问题,我们开发人员经常都会有碰到,当我们使用一些jar包中的类.方法等,或者有时遇到一些日志系统的问题(参考另一篇文章Jar包冲突导致的日志问题),我们会遇到ClassNotFoundException,NoSuchFieldException,NoSuchMethodException 之类的运行时异常,从经验上我们就会判断,Jar包冲突了.解决Jar包冲突…
一直对于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…
1. 问题描述 控制台说:无法将 com.zpx.servlet.MyServlet 识别为 javax.servlet.Servlet 2. 问题原因 Maven的一个核心功能就是一键构建,所以Maven将不再使用本地安装的Tomcat,而是使用Maven自身集成的Tomcat插件对项目进行构建.手动导入的 jar 包和本地安装的Tomcat中的 jar 包名字完全一样,却又是两个包,造成了 jar 包冲突异常. 3. 解决方法 Maven为 jar 包坐标提供了 <scope> 标签,指明…
异常显示:运行时jar包冲突异常 问题所在: jar包冲突,自己导入的jar包与tomcat中的jar包相同. 解决方法: 对(servlet,jsp)jar包设置作用域. 再次启动项目,问题已解决.…
1.原因 使用maven过程中,经常会遇到jar包重复加载或者jar包冲突的问题,但是有些jar包是由于maven加载了其他jar包自动引入的,并非自己主动添加的,导致和自己添加的jar包版本冲突 举个栗子: 自动化测试过程中,引用了testng的jar包,同时引用了reportng的jar,但是reportng会自动加载依赖传递的testng的jar包,这样就导致和自己添加的testng的jar包版本冲突 使用maven test 或者maven install命令执行测试时会报如下错误 [W…
报NoSuchMethodError(使用spring boot框架idea)一般是jar包冲突 Exception in thread"main" java.lang.NoSuchMethodError:org.springframework.http.MediaType.getCharset()Ljava/nio/charset/Charset; maven工程,一个artifact的jar包可能不只一处被依赖:有时候依赖会出现相同的artifact却不同版本,相互存在冲突,这时就…
项目启动报错: 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包已经通过pom.xml引进来了,还是报错找到不到相关的类的错误.这种时候,基本上可以断定是jar包冲突的问题. 很多情况下jar包会通过依赖传递或者是从父pom中继承而引进来,稍不注意,可能会出现引用的jar包版本不一致的问题,这个时候就会导致上述问题的出现.如下是一般的处理方式: 相同jar包的不同版本:使用exclusions排除掉冲突的版本包,参考如下配置. 不同jar包相同类名和package名:完全一样的类路径,但就是在…
现象 创建一个maven工程,引入spring-context包. <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.0.8.RELEASE</version> </dependency> 此时看左侧的lib,我们发现引入了一个坐标,多出了很多的jar包,这…
方法一:根据mvn提示一个一个排除 1.请到pom.xml文件所在的目录(包含父子目录)下分别执行下面的命令排查是什么原因导致fastjson版本不正确: mvn dependency:tree -Dverbose -Dincludes=com.alibaba:fastjson 2.配合excusions标签排除过时的包 <dependency> <groupId>com.alibaba.boot</groupId> <artifactId>infrastr…
 查看工程目前冲突的Jar包,这里以fastjson.jar为例: 打开工程的pom.xml,进入到Dependency Hierarchy页面搜寻目标Jar. 从这里我们可以看到目前工程中有2处导入了fastjson.jar,一个是直接依赖jar,另外一个是依赖的工程erp-facade中的间接依赖jar. 那么现在我们解决,取消这两种依赖jar的打包呢? (1)取消直接依赖jar 找到pom.xml中相关依赖描述屏蔽或者删除即可: (2)取消间接依赖的jar 在依赖的工程中,加入如下代码:…
亲测有效:weblogic11g(10.3.6) + jdk7,打包使用jdk7或jdk8,注意weblogic用的jdk和打包时jdk的兼容. 分别配置web项目下pom.xml和weblogic.xml 1,web项目增加打包配置,排除掉冲突jar包,./pom.xml <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId&g…
首先查看mvn中冲突的包 使用命令:mvn dependency:tree -Dverbose | grep "omitted for conflict with" windows下用 mvn dependency:tree -Dverbose | find "omitted for conflict with" 如果已经知道了冲突的包,比如是log4j/slf4j 使用命令:mvn dependency:tree -Dverbose -Dincludes=log4…
前言 在项目中利用POI开发excel.word的导入导出功能,而POI在解析xlsx及docx两种高版本文档时需要依赖xmlbeans包,但weblogic容器中提供了低版本的xmlbeans,从而导致报错: Caused by: java.lang.NoSuchMethodError: org.apache.xmlbeans.XmlOptions.setLoadEntityBytesLimit(I)Lorg/apache/xmlbeans/XmlOptions; at org.apache.…
参考文档: http://www.jianshu.com/p/100439269148 idea plugin: https://www.cnblogs.com/huaxingtianxia/p/5713411.html…
前言 大家在项目中肯定有碰到过Maven的Jar包冲突问题,经常出现的场景为: 本地运行报NoSuchMethodError,ClassNotFoundException.明明在依赖里有这个Jar包啊.怎么运行不了!? 项目中明明定义着某个jar包版本为2.0.2,怎么打包之后变成2.5.0了!? A项目引xxx.jar包运行好好的,B项目同样引入xxx.jar后,运行报错了..是B项目有问题,还是xxx.jar包有问题!? 本地环境和测试环境运行的好好的,到了生产就报一堆NoSuchMetho…
Jar包冲突的相关文章: 了不得,我可能发现了Jar 包冲突的秘密   一.前言 jar包冲突分多种,简单理解来说,就是同package且同名的类在多个jar包内出现,如果两个jar包在同一个classloader下,那么最终的结果是,只会加载其中的一个. 有时,这个错误一般在运行时出现,报的错可能是,找不到某方法,或者呢,更隐蔽的,不会报错,但是逻辑不对. 针对运行中的应用,可以考虑使用阿里出品的arthas来处理. 我今天呢,只是简单的找不到方法的情况,所以不需要用到那个. 我这里的场景是,…
jar包冲突常见的异常为找不到类(java.lang.ClassNotFoundException).找不到具体方法(java.lang.NoSuchMethodError).字段错误( java.lang.NoSuchFieldError)或者类错误(java.lang.LinkageError): 常见的解决方法如下: 1.首先做法是打出工程文件的依赖树,将根据jar包依赖情况判定是不是同一个jar包依赖了多个版本,如果确认问题所在,直接exclusion其中错误的jar包即可: 2.如果通…
项目运行中错误信息: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包冲突的…