Guava java EventBus实例化错误

前端之家收集整理的这篇文章主要介绍了Guava java EventBus实例化错误前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用Google的Guava库的EventBus.

从Guava的documentation开始,实例化EventBus对象应该很容易.

我的代码

package test;

import com.google.common.eventbus.EventBus;

public class Test {
    public static void main(String[] args) {
        EventBus bus = new EventBus("Sample");
    }
}

我收到这个错误

Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.base.Objects.firstNonNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
at com.google.common.cache.CacheBuilder.getKeyStrength(CacheBuilder.java:355)
at com.google.common.cache.CustomConcurrentHashMap.<init>(CustomConcurrentHashMap.java:206)
at com.google.common.cache.ComputingCache.<init>(ComputingCache.java:39)
at com.google.common.cache.CacheBuilder.build(CacheBuilder.java:569)
at com.google.common.eventbus.EventBus.<init>(EventBus.java:156)
at test.Test.main(Test.java:7)
Java Result: 1

我尝试过使用Guava 10.0,11.0和12.0并且总是出现同样的错误.我在OSX Lion上,我正在使用Netbeans 7.1:我已经尝试过Java 6(32和64位)和Java 7:没有任何改进.在谷歌我找不到任何东西.这是番石榴的问题吗?或者,通常,我错过了什么?

最好的祝福,

亚历山德罗

解决方法

为了扩展@biziclop所说的内容,你最有可能同时拥有最新版本的Guava以及google-collect或类似路径上的3.0之前的Guava版本. Objects.firstNonNull在3.0中添加,表明正在加载该类的旧版本.

猜你在找的Java相关文章