Clojure прокси JComboBox и IDeref выдает java.lang.VerifyError - PullRequest
3 голосов
/ 19 января 2011

Где-то в моем коде я делаю это:

(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 Ответ

1 голос
/ 21 января 2011

Я бы начал с проверки версии JDK в обеих средах (вашей и ваших пользователей): java.lang.VerifyError может быть результатом, если вы скомпилировали против другой библиотеки, чем вы используете во время выполнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...