[英]how to get the Class generated by gen-class in clojure
我正在使用一些Java库,需要访问由gen-class
生成gen-class
(ns cljfx.test
(:import some.java.Lib))
(gen-class :name Main)
(defn -main [& arg]
(Lib/method-require-class-arg (classOf Main)))
method-require-class-arg
的原型是
public static void method-require-class-arg(Class someClass) {
// ...
}
如何在第一个代码片段中编写(classOf Main)
部分?
您的gen-class
示例不正确。 如果您使用
(gen-class :name cljfx.test.Main)
然后cljfx.test.Main
将返回Class对象。
您可以使用Class/forName
方法。
例如: (Class/forName "java.lang.String")
在您的情况下,它应该是(Class/forName "Main")
并且您需要确保在project.clj中启用了aot
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.