问题描述
- guava.jar包 运行错误
-
想在项目里使用eventbus,然后使用了google的guava包,编译的时候通过,运行的时候报如下错误: (能保证包已导入,且没有相互冲突的包)
java.lang.NoSuchMethodError: com.google.common.util.concurrent.MoreExecutors.sameThreadExecutor()Lcom/google/common/util/concurrent/ListeningExecutorService;
at com.google.common.cache.LocalCache.(LocalCache.java:158)
at com.google.common.cache.LocalCache$LocalLoadingCache.(LocalCache.java:4799)
at com.google.common.cache.CacheBuilder.build(CacheBuilder.java:789)
at com.google.common.eventbus.EventBus.(EventBus.java:120)
at df.eventbus.EventBus.initialize(EventBus.java:17)
at df.GameMatrix.initialize(GameMatrix.java:335)
at df.GameMatrix.main(GameMatrix.java:111)
解决方案
guava有这个函数的,我看了看guava最新的源代码。你是自己修改guava源码吗,把这个函数给干掉了吧
另外
guava已经建议你使用
MoreExecutors.newDirectExecutorService();来获取的“执行器Executor”,最好别这样做,你叫guava自己创建Executor应该就够了。
人为去改变guava模式的话,不知道会出什么问题
时间: 2024-10-28 22:38:44