Maven的包依賴衝突可引發java.lang.IncompatibleClassChangeError錯誤

來源:互聯網
上載者:User

標籤:

新版API上線後,發現LOG檔案沒有正常輸出。查看Tomcat的Log檔案發現如下的錯誤資訊

May 29, 2015 7:56:21 AM com.sun.xml.ws.server.sei.EndpointMethodHandler invoke                                    SEVERE: Found class ch.qos.logback.core.spi.CyclicBufferTracker, but interface was expected                                    java.lang.IncompatibleClassChangeError: Found class ch.qos.logback.core.spi.CyclicBufferTracker, but interface was expected    

 

從字面含義分析,虛擬機器期望使用的是一個Interface型的CyclicBufferTracker,實際上Load進來的是一個Class型的。這種問題一般是由於Compile和Runtime使用的JAR包版本不一致導致的。而這種版本不一致,一般是由於Maven的包依賴衝突引起。

 

ch.qos.logback.core.spi.CyclicBufferTracker是logback-core中的一個類,通過Eclipse的Dependency Hierarchy工具,對pom.xml中的包依賴關係,使用logback-core關鍵字進行Filter:

果然發現某一個引用的依賴包中,依賴了1.0.3版本的logback-core,和本工程所依賴的1.1.2版本,產生了衝突。

根據項目需要,調整pom檔案選定所需要的JAR版本,解決包依賴衝突後,即可解決java.lang.IncompatibleClassChangeError問題。

 

Maven的包依賴衝突可引發java.lang.IncompatibleClassChangeError錯誤

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.