面試中提到jar包衝突

2021-08-11 00:13:21 字數 1939 閱讀 3580

jar包衝突

[html]view plain

copy

<

dependencies

>

<

dependency

>

<

groupid

>

org.springframework

groupid

>

<

artifactid

>

spring-core

artifactid

>

<

version

>

4.3.6.release

version

>

dependency

>

dependencies

>

在pom.xml中新增以上依賴的時候,會自動新增以下兩個jar包

spring-core會自動附帶commons-logging-1.2,同樣當我們新增其他依賴的時候,有可能也會自動加入commons-logging,而且版本有可能不是1.2,這個時候這兩個commons-logging的不同版本放在一起是會互相衝突的,需要排除那個不想要的jar包版本

排除jar包

在eclipse中開啟pom.xml,如下切換到dependency hierarchy檢視,spring-core是依賴,commons-logging是附加的jar,右鍵--exclude ....--ok--儲存

這個時候pom.xml的**變成了這樣

[html]view plain

copy

<

dependencies

>

<

dependency

>

<

groupid

>

org.springframework

groupid

>

<

artifactid

>

spring-core

artifactid

>

<

version

>

4.3.6.release

version

>

<

exclusions

>

<

exclusion

>

<

artifactid

>

commons-logging

artifactid

>

<

groupid

>

commons-logging

groupid

>

exclusion

>

exclusions

>

dependency

>

dependencies

>

exclusions裡面的jar包被排除了,只剩下spring-core

個人最後總結:   1.使用mvn: dependency tree  依賴數進行檢視衝突的jar包

2.在pom檔案裡邊  使用exclusion標籤進行排除掉衝突的jar包

jar包公升級,jar包衝突

事件 需要將clientlibrary 1.0.jar公升級為clientlibrary 1.1.jar,對jar包版本進行公升級 檢查原因 檢查備份系統可正常訪問,公升級jar包後出現同樣問題,確定jar的問題,getbean name 引用的spring.jar中的org.springframe...

jar包衝突問題

最終解決方案 1 通過檢視錯誤日誌或者錯誤提示,確定問題出現的類,比如 httpservletrequest.x,那麼httpservletrequest可能就是導致問題出現的衝突類。2 查詢所有包含httpservletrequest的jar包 findclass.sh lib httpservl...

Jar 包衝突的解決

1.導致jar包衝突的原因 我們在發布應用的時候,有時能正常啟動,有時卻報nosuchmehodexception nosuchfieldexception classnotfoundexception或者nosuchmehoderror noclassdeffounderror,而發布用的war包...