我正在嘗試使用Google的Guava庫的EventBus。Guava java EventBus實例化錯誤
從番石榴的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
我和番石榴10.0,11.0和12.0,總是同樣的錯誤嘗試。我在OSX Lion上使用Netbeans 7.1:我已經嘗試了Java 6(32和64位)和Java 7:沒有任何改進。在谷歌我找不到任何東西。這是番石榴的問題嗎?或者像往常一樣,我錯過了什麼?
最好的問候,
亞歷山德羅
乍一看,這看起來像一個錯誤,當您有不同的版本在classpath的同一個JAR文件,通常你得到的。 – biziclop 2012-07-09 16:58:18
我剛剛嘗試在Windows上使用相同的設置,它工作正常。我會試着看看我是否有不同版本的同一個罐子。我會讓你知道 – Alejander 2012-07-09 17:14:55
嘗試'-verbose:class'命令行選項來查看你的類實際從哪裏加載。 – biziclop 2012-07-09 17:46:57