当我尝试在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
提交
取消