日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

jar包冲突常用的解决方法

發(fā)布時(shí)間:2024/2/28 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jar包冲突常用的解决方法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

轉(zhuǎn)載自https://www.cnblogs.com/xiayangy/p/4038347.html
jar包沖突常見的異常為找不到類(java.lang.ClassNotFoundException)、找不到具體方法(java.lang.NoSuchMethodError)、字段錯(cuò)誤( java.lang.NoSuchFieldError)或者類錯(cuò)誤(java.lang.LinkageError);


常見的解決方法如下:
1、首先做法是打出工程文件的依賴樹,將根據(jù)jar包依賴情況判定是不是同一個(gè)jar包依賴了多個(gè)版本,如果確認(rèn)問題所在,直接exclusion其中錯(cuò)誤的jar包即可;
2、如果通過看依賴樹不能確定具體沖突的jar包,可以使用添加jvm參數(shù)的方式啟動(dòng)程序,將類加載的具體jar信息打印出來;-verbose:class
3、經(jīng)過上述步驟基本就可以解決jar包沖突問題,具體的問題要具體分析,當(dāng)問題不可重現(xiàn)時(shí)上述方法均不會(huì)奏效;
如果當(dāng)遇到應(yīng)用重啟沖突不可重現(xiàn)的情況建議將每次異常信息進(jìn)行重點(diǎn)的保留,方便不可重現(xiàn)時(shí)進(jìn)行分析;

例如,碰到一例bean初始化失敗:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'tfsManager' defined in URL [jar:file:/home/admin/wireless-qrshare/target/wireless-qrshare.war/WEB-INF/lib/qrshare.common.config-1.0-SNAPSHOT.jar!/mobile/biz-service.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.taobao.common.tfs.DefaultTfsManager]: Constructor threw exception; nested exception is java.lang.VerifyError: Cannot inherit from final class


此時(shí)定位到tfsManager這個(gè)bean初始化內(nèi)部調(diào)用的類:


通過查找定位到httpcore的版本存在沖突;




總結(jié)

以上是生活随笔為你收集整理的jar包冲突常用的解决方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。