この質問と同じくらい単純ですが、同じディレクトリ内の異なる名前空間が互いに有効に参照する正しい方法を見つけることができないようです。私は2つのファイルを持っています:
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])
project.clj
このファイルには、私のviaで指定されている main メソッドも含まれています。: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)
(...)