Java應用程序因某種因素魂爪,加載不到正確的類而導致其行為跟預期不一致板鬓。
具體來說可分為兩種情況:1)應用程序依賴的同一個Jar包出現(xiàn)了多個不同版本惭婿,并選擇了錯誤的版本而導致JVM加載不到需要的類或加載了錯誤版本的類扇商,為了敘述的方便缠诅,筆者稱之為第一類Jar包沖突問題;2)同樣的類(類的全限定名完全一樣)出現(xiàn)在多個不同的依賴Jar包中钉寝,即該類有多個版本弧呐,并由于Jar包加載的先后順序?qū)е翵VM加載了錯誤版本的類,稱之為第二類Jar包問題嵌纲。這兩種情況所導致的結果其實是一樣的俘枫,都會使應用程序加載不到正確的類,那其行為自然會跟預期不一致了
詳情參考: http://www.yangbing.club/2017/07/15/solution-for-jar-conflicts/