就像这个问题一样简单,我似乎无法为同一目录中的不同名称空间找到正确的方法来有效地相互引用。我有两个文件:
project_root/src/babbler/core.clj
:
(ns babbler.core
(:gen-class)
(use '[clojure.string :only (join split)]))
(defn foo [] "Foo")
然后project_root/src/babbler/bar.clj
:
(ns babbler.bar)
(use [babbler.core :as babble])
该文件还包含一个 main 方法,在我的project.clj
via中指定:main babbler.bar
我的整个结构是逆时针生成的,带有默认的 leiningen 模板。
运行结果lein repl
是这样的:
Exception in thread "main" java.lang.ClassNotFoundException: babbler.core, compiling:(babbler/bar.clj:3:1)
at clojure.lang.Compiler.analyze(Compiler.java:6380)
at clojure.lang.Compiler.analyze(Compiler.java:6322)
at clojure.lang.Compiler$VectorExpr.parse(Compiler.java:3024)
at clojure.lang.Compiler.analyze(Compiler.java:6363)
at clojure.lang.Compiler.analyze(Compiler.java:6322)
(...)