不兼容类在启动 my 应用程序时更改错误

当我尝试在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)


慕娘9325324
浏览 96回答 1
1回答

MM们

该错误意味着 的字节码应该是一个 Java 类,但它是一个接口。CacheBuilderTicker您在类路径上有两个版本的番石榴,或者您正在使用您用于构建的不同版本的番石榴来启动应用程序。尝试查找重复项。如果看起来不错,请在 VM 上运行应用时检查类路径。mvn dependency:tree在极少数情况下,有人可能很“聪明”,并将(或)的字节码复制到他们的JAR中。尝试对所有 JAR 进行文本搜索以查找候选项,或编写一个单元测试,打印com.google.common.base.TickerCacheBuildergetClass().getClassLoader().getResources("com/google/common/base/Ticker.class");看看谁喜欢贡献(应该只返回一个URL)。如果有效,请对 执行相同的操作。CacheBuilder
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java