4

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

(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

我究竟做错了什么?

4

2 回答 2

3

您需要AOTgen-class编译.

于 2012-09-26T06:25:45.387 回答
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-")
于 2012-09-26T03:55:36.407 回答