导入最终课程
我无法从 java 包导入最终类。导入普通类效果很好。例如:
gtk-examples.snooping> (import 'org.gnome.gdk.MouseButton) org.gnome.gdk.MouseButton gtk-examples.snooping> (import 'org.gnome.gdk.ModifierType) ; Evaluation aborted. gtk-examples.snooping>
最后一次导入会产生 NoClassDefFoundError。这是更完整的输出:
Could not initialize class org.gnome.gdk.ModifierType [Thrown class java.lang.NoClassDefFoundError] Restarts: 0: [QUIT] Quit to the SLIME top level Backtrace: 0: java.lang.Class.forName0(Native Method) 1: java.lang.Class.forName(Class.java:186) 2: gtk_examples.snooping$eval2063.invoke(NO_SOURCE_FILE:1) 3: clojure.lang.Compiler.eval(Compiler.java:5424) 4: clojure.lang.Compiler.eval(Compiler.java:5415) 5: clojure.lang.Compiler.eval(Compiler.java:5391) 6: clojure.core$eval.invoke(core.clj:2382) --more--
知道发生了什么吗?
谢谢!
I'm failing to import final classes from a java package. Importing normal classes works fine. For example:
gtk-examples.snooping> (import 'org.gnome.gdk.MouseButton) org.gnome.gdk.MouseButton gtk-examples.snooping> (import 'org.gnome.gdk.ModifierType) ; Evaluation aborted. gtk-examples.snooping>
The last import yields a NoClassDefFoundError. Here is a more complete output:
Could not initialize class org.gnome.gdk.ModifierType [Thrown class java.lang.NoClassDefFoundError] Restarts: 0: [QUIT] Quit to the SLIME top level Backtrace: 0: java.lang.Class.forName0(Native Method) 1: java.lang.Class.forName(Class.java:186) 2: gtk_examples.snooping$eval2063.invoke(NO_SOURCE_FILE:1) 3: clojure.lang.Compiler.eval(Compiler.java:5424) 4: clojure.lang.Compiler.eval(Compiler.java:5415) 5: clojure.lang.Compiler.eval(Compiler.java:5391) 6: clojure.core$eval.invoke(core.clj:2382) --more--
Any idea of what is going on?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
尝试导入 org.gnome.gdk.ModifierType 实际上首先会出现不同的错误,然后会出现您所看到的错误。
根据文档,
org.gnome.gtk.Gtk/init
看起来像:所以重新启动 JVM 并尝试这个:
似乎可以工作。
Trying to import
org.gnome.gdk.ModifierType
actually gives you a different error first, then gives you the error you're seeing.Per the docs,
org.gnome.gtk.Gtk/init
looks like:So restart the JVM and try this:
Seems to work.
我缺乏 Java 知识来给出正确的答案,但也许 import-static 就是您正在寻找的?
http://clojuredocs.org/v/487
I'm lacking the Java know-how to give a proper answer, but maybe import-static is what you are looking for?
http://clojuredocs.org/v/487