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

歡迎訪問(wèn) 生活随笔!

生活随笔

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

编程问答

axis2 jar包冲突_一个jar包冲突引起的StackOverflowError

發(fā)布時(shí)間:2025/3/15 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 axis2 jar包冲突_一个jar包冲突引起的StackOverflowError 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

項(xiàng)目運(yùn)行中錯(cuò)誤信息:java.lang.IllegalStateException: Unable to complete the scan for annotations for web application [/app] due to a StackOverflowError.

Possible root causes include a too low setting for -Xss and illegal cyclic inheritance dependencies.

The class hierarchy being processed was [org.bouncycastle.asn1.ASN1EncodableVector->org.bouncycastle.asn1.DEREncodableVector->org.bouncycastle.asn1.ASN1EncodableVector

解決辦法:

Run configuration ?--> Arguments --> VM arguments -Xss4m

以上方式治標(biāo)不治本,我的錯(cuò)誤信息里面已經(jīng)提示的比較明顯了:cyclic inheritance dependencies

所以,這里靠譜的解決辦法應(yīng)該是:

找到?jīng)_突的jar包,Excluded掉其中一個(gè)就是了

如何找到?jīng)_突的jar包并Excluded掉?

1、打開(kāi)工程pom文件

2、進(jìn)入Dependency Hierarhcy視圖

3、選擇其中一個(gè)jar包,右鍵Excluded Maven Artifact,。。。

idea下解決辦法:

Run configuration ?--> Arguments --> VM arguments -Xss4m

以上方式治標(biāo)不治本,我的錯(cuò)誤信息里面已經(jīng)提示的比較明顯了:cyclic inheritance dependencies

所以,這里靠譜的解決辦法應(yīng)該是:

找到?jīng)_突的jar包,Excluded掉其中一個(gè)就是了

如何找到?jīng)_突的jar包并Excluded掉?

1、打開(kāi)工程pom文件

2、左下角進(jìn)入Dependency Analzer視圖,可以看到confilcts和All Dependency as tree

3、選擇其中一個(gè)jar包,右鍵Excluded Maven Artifact,。。。

重啟項(xiàng)目即可。

通用方法:

對(duì)于Jar包沖突問(wèn)題,我們開(kāi)發(fā)人員經(jīng)常都會(huì)有碰到,當(dāng)我們使用一些jar包中的類、方法等,或者有時(shí)遇到一些日志系統(tǒng)的問(wèn)題(參考另一篇文章Jar包沖突導(dǎo)致的日志問(wèn)題),我們會(huì)遇到ClassNotFoundException,NoSuchFieldException,NoSuchMethodException 之類的運(yùn)行時(shí)異常,從經(jīng)驗(yàn)上我們就會(huì)判斷,Jar包沖突了。解決Jar包沖突問(wèn)題,每個(gè)人都有每個(gè)人的方法,這里我介紹一下我的方法,供大家參考。

處理方法

當(dāng)遇到j(luò)ar包沖突時(shí),我們首先確定是哪個(gè)jar包沖突了,這個(gè)很容易,看我們調(diào)用的類或方法,是屬于哪個(gè)Jar包。然后就是要找出沖突了,我這里使用命令

mvn dependency:tree -Dverbose -Dincludes=:

填寫上Jar包的groupId和artifactId,可以只有一個(gè),但是中間的冒號(hào)不要少,這樣就會(huì)輸出依賴樹(shù),而且是僅包含這個(gè)Jar包的依賴樹(shù),這樣那些地方依賴了這個(gè)Jar包的那個(gè)版本就一目了然了。

例如,我的項(xiàng)目中notify-common包存在沖突,我們使用命令

mvn dependency:tree -Dverbose -Dincludes=:notify-common

得到依賴樹(shù)輸出

[INFO] com.taobao.wlb:bis-server:war:1.0-SNAPSHOT

[INFO] +- com.taobao.wlb:bis-core:jar:1.0-SNAPSHOT:compile

[INFO] | \- com.taobao.logistics:schedule-client:jar:1.1.1:compile

[INFO] | \- (com.taobao.notify:notify-common:jar:1.8.15:compile - omitted for conflict with 1.8.19.26)

[INFO] \- com.taobao.notify:notify-tr-client:jar:1.8.19.26:compile

[INFO] +- com.taobao.notify:notify-common:jar:1.8.19.26:compile

[INFO] \- com.taobao.notify:notify-remoting:jar:1.8.19.26:compile

[INFO] \- (com.taobao.notify:notify-common:jar:1.8.19.26:compile - omitted for duplicate)

看一下依賴樹(shù)中所有的葉子節(jié)點(diǎn)就是所有的notify-common包,我們可以看到我們依賴的bis-core中依賴了schedule-client包,它依賴了一個(gè)notify-common包,版本是1.8.15,第四行的后面也提示了這個(gè)包同其他包有沖突

- omitted for conflict with 1.8.19.26)。而我們的系統(tǒng)依賴的notify-tr-client包所依賴的版本是1.8.19.26,于是我們知道是這里沖突了,在POM排除掉依賴,OK了。

說(shuō)明

這里我們對(duì)我們執(zhí)行的命令做一個(gè)簡(jiǎn)單的說(shuō)明。

mvn dependency:tree -Dverbose -Dincludes=:

第一部分mvn dependency:tree是maven依賴的分析命令,作用是對(duì)我們的項(xiàng)目的依賴進(jìn)行分析,并輸出項(xiàng)目依賴樹(shù)

第二部分-Dverbose的作用是添加了verbose一個(gè)環(huán)境變量,起的作用是在分析項(xiàng)目依賴時(shí)輸出明細(xì),這樣項(xiàng)目中依賴的所有引用都會(huì)被輸出出來(lái),包含了所有的間接引用,會(huì)有很多很多,我們只需要我們要找的,所以就需要第三個(gè)參數(shù)了

第三部分-Dincludes=:的作用就是進(jìn)行過(guò)濾,只包含我們想要的依賴的依賴時(shí),排除掉其它不需要的,依賴樹(shù)的所有葉子節(jié)點(diǎn)就是我們的找的依賴包。其中的groupId和artifactId可以只填寫一個(gè),為了保證準(zhǔn)確性,一般都會(huì)填兩個(gè)(填寫時(shí)不包括尖括號(hào))。

其他方法:

1、對(duì)于maven工程,我的辦法是使用eclipse來(lái)解決,點(diǎn)開(kāi)pom.xml,切換到hierarchy dependency,右上角搜索對(duì)應(yīng)的包,可以清晰地看到?jīng)_突版本

2、可以使用idea,在pom.xml中右單擊 選擇Diagrams-》show dependencies

3、mvn dependency:tree -Dverbose > tree.log

直接輸出沖突的jar文件

jar包沖突問(wèn)題

這兩天在啟動(dòng)一個(gè)新項(xiàng)目的時(shí)候,項(xiàng)目一直啟動(dòng)不了,報(bào)StackOverFlow; java.util.concurrent.ExecutionException: java.lang.StackOver ...

為什么項(xiàng)目的jar包會(huì)和tomcat的jar包沖突?

為什么項(xiàng)目的jar包會(huì)和tomcat的jar包沖突? 碰到這個(gè)問(wèn)題,猜測(cè)tomcat啟動(dòng)時(shí)會(huì)將自己的lib和項(xiàng)目的lib在邏輯上歸并為一個(gè)大的lib,但是并沒(méi)有做版本區(qū)分以及去重,這樣相同的包可能就有 ...

weblogic與axis2 jar包沖突

1.org.springframework.web.util.NestedServletException: Handler processing failed; nested exception i ...

sbt公布assembly解決jar包沖突 deduplicate: different file contents found in the following

一個(gè).問(wèn)題定義 近期使用sbt戰(zhàn)斗assembly發(fā)生故障時(shí),包,在package什么時(shí)候,發(fā)生jar包沖突/文件沖突,兩個(gè)相同class來(lái)自不同jar包c(diǎn)lasspath內(nèi)心沖突. 有關(guān)詳細(xì)信息:我 ...

如何解決使用Gradle時(shí)出現(xiàn)的jar包沖突

前言 在我之前使用Gradle的博文中已經(jīng)提到,Gradle對(duì)依賴的管理是比較智能的,如果有兩個(gè)包依賴于相同的包,而版本不同的時(shí)候,Gradle會(huì)進(jìn)行自動(dòng)的選擇,從而避免jar包的沖突. 也就是說(shuō),在 ...

記一次jar包沖突

題記:永遠(yuǎn)不要在同一個(gè)項(xiàng)目中,引用不同版本的兩個(gè)jar包,否則,這可能就是一個(gè)大坑. 在做網(wǎng)校項(xiàng)目的時(shí)候,幫助中心要使用lucene,所以就引入了lucene-5.5.1的包,刪掉了原先存在于項(xiàng)目中的 ...

重新看待Jar包沖突問(wèn)題及解決方案

Jar包沖突是老生常談的問(wèn)題,幾乎每一個(gè)Java程序猿都不可避免地遇到過(guò),并且也都能想到通常的原因一般是同一個(gè)Jar包由于maven傳遞依賴等原因被引進(jìn)了多個(gè)不同的版本而導(dǎo)致,可采用依賴排除.依賴管理 ...

【BUG】websphere找不到類或jar包沖突

來(lái)自:http://liuwei1578.blog.163.com/blog/static/49580364200991572642653/ Jar包沖突問(wèn)題是在大型Java軟件開(kāi)發(fā)中經(jīng)常遇到的問(wèn)題, ...

隨機(jī)推薦

hive 調(diào)優(yōu)總結(jié)

一.join優(yōu)化 做join之前對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,減少參加join的數(shù)據(jù)量,把數(shù)據(jù)量少的表放入內(nèi)存中,制作map端的join 應(yīng)該將條目少的表/子查詢放在?Join?操作符的左邊.原因是在?Join? ...

使用.net Stopwatch class 來(lái)分析你的代碼

當(dāng)我們?cè)谡{(diào)試,優(yōu)化我們的代碼的時(shí)候,想知道某段代碼的真正的執(zhí)行時(shí)間,或者我們懷疑某段代碼,或是某幾段代碼執(zhí)行比較慢, 需要得到具體的某段代碼的具體執(zhí)行時(shí)間的時(shí)候.有一個(gè)很好用的類Stopwatch. ...

extjs 一些雜碎的技術(shù)問(wèn)題

1怎樣將grid 的checkedbox 勾選狀態(tài)都清除 inv.getSelectionModel().clearSelections(); inv.getView().refresh(); 2怎樣 ...

SQL server 2008無(wú)法修改表

長(zhǎng)久未使用SQL server,一直都是使用Navicat來(lái)處理各種數(shù)據(jù)庫(kù),感覺(jué)使用很方便,但由于實(shí)際需要,必須要用SQL server創(chuàng)建新的數(shù)據(jù)庫(kù),卻意外的遇到了以前從未遇到過(guò)的問(wèn)題. 在建好表以 ...

JS類定義方式

// 方法1 對(duì)象直接量 var obj1 = { v1 : "", get_v1 : function() { return this.v1; }, set_v1 : funct ...

設(shè)計(jì)模式入門之裝飾器模式Decorator

//裝飾模式定義:動(dòng)態(tài)地給一個(gè)對(duì)象加入一些額外的職責(zé). //就添加功能來(lái)說(shuō).裝飾模式比生成子類更為靈活 //這也提現(xiàn)了面向?qū)ο笤O(shè)計(jì)中的一條基本原則,即:盡量使用對(duì)象組合,而不是對(duì)象繼承 //Compo ...

ArcGIS10.6了解一下

因?yàn)橛?jì)算機(jī)水平不斷更新,ESRI不得不重新傾力打造下一代ArcMap,叫ArcGIS Pro,現(xiàn)在ArcGIS Pro功能有一定地突顯,但還不夠強(qiáng)大和穩(wěn)定:而ArcGIS Desktop方面沒(méi)有什么大 ...

史上最全PHP正則表達(dá)式實(shí)例匯總

收集了一份php正則表達(dá)式的實(shí)例教程,真心不錯(cuò),記錄下. 正則表達(dá)式用于字符串處理.表單驗(yàn)證等場(chǎng)合,實(shí)用高效. 一些常用的表達(dá)式: $str = preg_replace("/(

【代碼筆記】iOS-iphone開(kāi)發(fā)之獲取系統(tǒng)字體

代碼: - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. NS ...

【find】Linux中find常見(jiàn)用法示例

1.根據(jù) 某個(gè)名字在某個(gè)目錄下進(jìn)行查找 find /etc/ -name "*.conf" 在/etc/目錄下 查找 后綴名為conf 的文件

與50位技術(shù)專家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的axis2 jar包冲突_一个jar包冲突引起的StackOverflowError的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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