當我嘗試在Amazon Linux機器上啟動我的應用程序時,我收到以下錯誤。Caused by: java.lang.IncompatibleClassChangeError: class com.google.common.cache.CacheBuilder$3 has interface com.google.common.base.Ticker as super class
at java.lang.ClassLoader.defineClass1(Native Method)
1 回答

MM們
TA貢獻1886條經驗 獲得超2個贊
該錯誤意味著 的字節碼應該是一個 Java 類,但它是一個接口。CacheBuilder
Ticker
您在類路徑上有兩個版本的番石榴,或者您正在使用您用于構建的不同版本的番石榴來啟動應用程序。
嘗試查找重復項。如果看起來不錯,請在 VM 上運行應用時檢查類路徑。mvn dependency:tree
在極少數情況下,有人可能很“聰明”,并將(或)的字節碼復制到他們的JAR中。嘗試對所有 JAR 進行文本搜索以查找候選項,或編寫一個單元測試,打印com.google.common.base.Ticker
CacheBuilder
getClass().getClassLoader().getResources("com/google/common/base/Ticker.class");
看看誰喜歡貢獻(應該只返回一個URL)。如果有效,請對 執行相同的操作。CacheBuilder
添加回答
舉報
0/150
提交
取消