2011-01-19 63 views
3

某處在我的代碼,我這樣做:Clojure的代理給人一種java.lang.VerifyError的

(proxy [JComboBox IDeref] [] 
    (deref [] (.getSelectedItem this))) 

在我的機器上能正常工作,一些用戶報告了以下問題:

java.lang.VerifyError: class ggo.igs.gui.widgets.proxy$javax.swing.JComboBox$IDeref$db53459f 
    overrides final method 1®­+1ú h.1®ˆû1ú h 
    at java.lang.ClassLoader.defineClass1 (ClassLoader.java:-2) 
    java.lang.ClassLoader.defineClass (ClassLoader.java:676) 
    java.security.SecureClassLoader.defineClass (SecureClassLoader.java:124) 
    java.net.URLClassLoader.defineClass (URLClassLoader.java:260) 
    java.net.URLClassLoader.access$100 (URLClassLoader.java:56) 
    java.net.URLClassLoader$1.run (URLClassLoader.java:195) 
    java.security.AccessController.doPrivileged (AccessController.java:-2) 
    java.net.URLClassLoader.findClass (URLClassLoader.java:188) 
    com.sun.jnlp.JNLPClassLoader.findClass (JNLPClassLoader.java:332) 
    java.lang.ClassLoader.loadClass (ClassLoader.java:317) 
    java.lang.ClassLoader.loadClass (ClassLoader.java:252) 
    java.lang.ClassLoader.loadClassInternal (ClassLoader.java:375) 
    ggo.igs.gui.widgets$combo_box.doInvoke (widgets.clj:124) 
    clojure.lang.RestFn.invoke (RestFn.java:440) 

我看不出我可能會覆蓋最後的方法,特別是沒有這種怪異的「名字」。 任何想法可能是錯誤的?

回答

1

我會開始檢查在這兩種環境的JDK版本(你和你的用戶):java.lang.VerifyError的,可當你對一個不同的庫比您正在使用在運行時編譯的結果。

+0

是的,這是1.6的我和1.5他們的計算機上 - 但不可以盪鞦韆應該是它們之間兼容嗎? – bsteuber 2011-01-21 13:47:56