Jar包冲突

maven 包依赖移植到本地项目过程中包冲突处理

你离开我真会死。 提交于 2020-03-25 17:29:49
3 月,跳不动了?>>> 由于项目需要,需要对平台xxx-1.0.jar包进行升级处理,并考虑到具体项目的个性化需求,不动平台xxx-1.0包内容,将xxx-1.0.jar升级并更名为yyy-1.0.jar后。步骤如下: 1、 将xxx-1.0.jar升级并更名为yyy-1.0.jar后 2、对pom.xml的该jar包的平台依赖进行注释处理,并更新最新的maven依赖 3、在 eclipse中选择项目配置在java build path->libraries中。将 yyy-1.0.jar配置在内 运行项目时,发现包冲突,报找不到(最新升级方法)的错误 No such method 具体处理办法如下: 1、删除maven本地库XXX\maven\local-repository下的xxx的文件夹目录 2、删除tomcat部署包XXX\tomcatwebapps\testmaven\WEB-INF\lib下的xxx-1.0.jar 该问题 即可解决 来源: oschina 链接: https://my.oschina.net/u/1032948/blog/276107

Maven依赖进阶

扶醉桌前 提交于 2019-11-28 19:57:05
使用maven的程序员都会遇到一个问题,那就是maven依赖冲突的问题,这会导致ClassNotFound或者MethodNotFound这样的异常。其实只要明白maven依赖的根本性的原则就不怕这样的问题了。 一、maven依赖原则 1.间接依赖路径最短优先 一个项目test依赖了a和b两个jar包。其中a-b-c1.0 , d-e-f-c1.1 。由于c1.0路径最短,所以项目test最后使用的是c1.0。 2.pom文件中申明顺序优先 有人就问了如果 a-b-c1.0 , d-e-c1.1 这样路径都一样怎么办?其实maven的作者也没那么傻,会以在pom文件中申明的顺序那选,如果pom文件中先申明了d再申明了a,test项目最后依赖的会是c1.1 所以maven依赖原则总结起来就两条: 路径最短,申明顺序其次 。 二、如何解决Jar冲突 遇到冲突的时候第一步要找到maven加载的到时是什么版本的jar包。通过dependency:tree查看依赖树。 [INFO] --- maven-dependency-plugin:2.1:tree (default-cli) @ web-hsf --- [INFO] com.lubby:web-hsf:war:0.0.1-SNAPSHOT [INFO] +- org.apache.geronimo.specs:geronimo