如何在clojure中获取gen-class生成的Class

时间:2013-04-26 03:33:26

标签: clojure

我正在使用一些需要访问gen-class

生成的类的java lib
(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)部分?

2 个答案:

答案 0 :(得分:2)

您的gen-class示例不正确。如果你使用

(gen-class :name cljfx.test.Main)

然后只需cljfx.test.Main将返回Class对象。

答案 1 :(得分:0)

您可以使用Class/forName方法。

例如:(Class/forName "java.lang.String")

在您的情况下,它应该是(Class/forName "Main"),您需要确保在项目中启用aot。clj