我简单的Clojure gen-class脚本有什么问题?

时间:2012-09-26 03:47:28

标签: clojure gen-class

我正在尝试学习如何在Clojure中使用gen-class。我从这个简单的脚本开始:

(gen-class :name MyClass :prefix MyClass-)

(defn MyClass-toString[this] "This Is My Class")

(println (MyClass.))

当我尝试运行它时,我得到了

    Exception in thread "main" java.lang.IllegalArgumentException: Unable to resolve classname: MyClass

我做错了什么?

2 个答案:

答案 0 :(得分:3)

gen-class需要AOT compilation

答案 1 :(得分:1)

编辑,另外,检查主类名是否与lein项目文件中定义的类名相匹配。

通常你输入clj文件的(ns)标题。

(ns my.namespace
  (:gen-class))

以下是一些例子

(gen-class
    :name "some.package.RefMap"
    :implements [java.util.Map]
    :state "state"
    :init "init"
    :constructors {[] []}
    :prefix "ref-map-")