同一个jar包不同版本冲突解决方法

编程入门 行业动态 更新时间:2024-10-28 06:36:35

一个项目里面同一个jar包一般不能有两个版本的 不然可能会出现jar包冲突的情况

常见报错有这三个: 
1、java.lang.ClassNotFoundException(找不到类) 
2、java.lang.NoSuchMethodError(找不到具体方法) 
3、java.lang.NoSuchFieldError(字段错误) 
4、java.lang.LinkageError(类错误 这个我没怎么见过)

解决方法有: 
1、删了旧版本的jar包,不过可能会导致一些旧代码不能用 (不推荐) 
2、合并新旧两个jar包,这个有比较高的技术要求(不会) 
3、拆开jar包,修改里面的package,然后在生成一个新的jar包(方便,简单,如果遇到需要就该jar包内容的情况,这个方法也适用)

这个文章写第三种方法

1、首先下载jarjar.jar :

官网:https://code.google/p/jarjar/(要翻墙)
附件:http://download.csdn/detail/qq_22778717/9689007
2、随便放一个地方(我放到E盘的jarjar文件夹下)

3、打开cmd,cd到E盘的jarjar文件夹,然后就运行jarjar.jar(如图1、2两个步骤) 

4、打开一个txt 输入rule org.apache.http.** org.apache.http123.@1来设置转换规则,并且存到jarjar文件夹下 
(格式就这样:rule xxxx.xx.aaa.** xxxx.xx.aaa123.@1)修改的地方就是aaa那里

5、把需要转换的 xxxxx1.jar放到jarjar文件夹里面,然后输入java -jar jarjar.jar strings xxxxx1.jar,查看你要修改的jar包的包名

6、输入java -jar jarjar.jar process ./aa.txt xxxxx1.jar ./xxxxx2.jar开始转换(xxxxx1.jar是需要被修改路径的jar包 xxxxx2.jar是修改后生成jar包的名字) 

 到这里 看到红线下面那个E:\jarjar> 就代表整个步骤完成了,可以去jarjar文件夹看一下你新的jar包,这个jar包导入项目的时候也不用担心说冲突了。

转自:https://blog.csdn/qq_22778717/article/details/53261396

更多推荐

同一个jar包不同版本冲突解决方法

本文发布于:2023-06-14 04:22:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1437350.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:解决方法   冲突   版本   jar

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!