當前位置:首頁 » 雲伺服器 » 伺服器jar包沖突怎麼修改

伺服器jar包沖突怎麼修改

發布時間: 2023-04-16 01:25:23

① Android引入多個jar包,沖突問題解決方案

Android引入多個jar包,沖突問題解決方案(引入jar包,即本地文件) 以引用載入第三方框架中也有okhttp3  okio沖突講解

(PS:如果不知道是那個jar沖突可以用指令gradlew app:dependencies查看)

1.找到項目中的libs->對應沖突的第三方包.jar。

3.用解壓工具打開(不是解壓亂塵,是打開。比如windows下可用360解壓打開)。

4.刪掉重復引用的包(okhttp3 + okio)。

5.重新打開虛喚項目,等待編譯

6.可能出現innerClass mission警告,可以忽略掉,或者clean build。

7.如果還報錯的話那麼在app build.gradle加入嘩譽禪:

packagingOptions {

          exclude 'META-INF/proguard/okhttp3.pro'

}

溫馨提示:

      如果你的項目是因為剛剛添加了某個網路載入依賴導致的,那麼你就查看下這個庫下的哪一個依賴沖突了,在添加這個依賴的時候把它給過濾掉。具體寫法如下。

implementation ('com.***.***:XXX:1.2.0'){ // 所加的第三方框架

        exclude mole: 'okhttp:3.10.0'

}

//或者要把組名一起添上去

implementation ('com.***.***:XXX:1.2.0'){ // 所加的第三方框架

        exclude group: 'com.squareup.okhttp3'

}

② jar包沖突解決方法

今天圓啟啟動工戚坦程時候報高腔桐了一個slf4j相關的jar包沖突的問題,java.lang.NoSuchMethodError(找不到具體方法),在idea中發現slf4j-api有兩個不同的版本,解決辦法如下

在idea右側maven窗口中選中模塊名稱,右擊選擇jar包依賴樹

按ctr+f輸入沖突的jar包就可以找到它的繼承關系,找到根坐標,然後在pom.xml中找到對應的坐標exclusion就ok啦

jar包沖突時候也有可能如下報錯
1、java.lang.ClassNotFoundException(找不到類)
2、java.lang.NoSuchMethodError(找不到具體方法)
3、java.lang.NoSuchFieldError(欄位錯誤)
4、java.lang.LinkageError(類錯誤 這個我沒怎麼見過)

③ jar包沖突的解決方法

一般就是在報錯里找,如下,是我的報錯信息,如下所示,這里比較明顯的是org.apache.logging.slf4j.Log4jLoggerFactory這個類,報錯的意思是說,實際構建的是用的就是上面的那個類,用了之後就開始報錯了。
所以問題就很明確了,肯定是這個類不該用,肯定是不同的jar包中,出現了相同的類名導致的。

如果你使用idea開發的話,可閉液以雙擊shift,輸入用org.apache.logging.slf4j.Log4jLoggerFactory類,然後點擊如圖的小按鈕,找到對應的jar包,就找到了它的group,name,version等信息。

假設你用的是gredle,你可以跑一下dependencies,就可以拿到它們之間的全部的依賴,如果你用的maven的話,同樣的道理,只需要在idea中點擊,maven就可以了,

可以把2.2中跑出來轎局物得到的數據,粘貼在nodepa++中,然後搜索2.1中,對應的group,或是name都可以,通過這一步,就可臘鄭以定位到是哪個jar包引進沖突的包

gradle中的做法是如圖:

④ 解決項目中jar包沖突的終極方案

項目中經常會碰到jar包沖突,而很多情況下沖突的包是由於其他包依賴引入的,這個時候我們無法直接分辨沖突包是哪個依賴導致的,現在教你如何快速定位沖突包由哪個依賴引入的。

1.先配置gralde環境變數

具體配置方式參考: https://blog.csdn.net/u010042669/article/details/80914656

2.利用gradle命令找到項目中每個引用的依賴包,比如 你項目中使用com.android.support:cardview-v7:26.0.2中,而這個依賴會引入 com.android.support:support-annotations:26.0.2

命令:gradle host:dependencies

先進入要查詢的項目根目錄,host是application類型敬段擾 mole,通過這行命令可以遍歷這個mole中每個依賴的所有間接引用

結果如下:

通過這種方式就可以輕松定位引起沖突的依賴

3.找到沖突的亮旦包後,使用exclude group方式剔除

4.重新build後,再使用gradle host:dependencies查看依賴,已經沒了

5.最後,燃雹引來了勝利,可以開始慶祝了!!!

⑤ java jar包沖突怎麼解決

由於,lib目錄中的 struts.jar 和 struts-core-1.3.8.jar 存在沖突
導致部分伺服器上應用啟動報錯,或訪問後台JSP頁面時報TILES標簽錯誤,
經排查,其實struts.jar中的class文件在
struts-core-1.3.8.jar
struts-taglib-1.3.8.jar
struts-tiles-1.3.8.jar
中均已存在,且宏友版本要高於struts.jar中的class
struts.jar為version1.0
而巧瞎struts-core-1.3.8.jar,truts-taglib-1.3.8.jar,struts-tiles-1.3.8.jar為version1.2
在struts1.2中引用tiles tld的寫法發生變蔽寬槐化

故解決辦法如下:
1.去掉原strtus.jar
2.去掉struts-tiles.tld
3.將所有JSP頁面中的
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles"%>
改為
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles"%>

熱點內容
app什麼情況下找不到伺服器 發布:2025-05-12 15:46:25 瀏覽:713
php跳過if 發布:2025-05-12 15:34:29 瀏覽:466
不定時演算法 發布:2025-05-12 15:30:16 瀏覽:130
c語言延時1ms程序 發布:2025-05-12 15:01:30 瀏覽:164
動物園靈長類動物配置什麼植物 發布:2025-05-12 14:49:59 瀏覽:732
wifi密碼設置什麼好 發布:2025-05-12 14:49:17 瀏覽:147
三位數乘兩位數速演算法 發布:2025-05-12 13:05:48 瀏覽:396
暴風影音緩存在哪裡 發布:2025-05-12 12:42:03 瀏覽:539
access資料庫exe 發布:2025-05-12 12:39:04 瀏覽:627
五開的配置是什麼 發布:2025-05-12 12:36:37 瀏覽:363