Я создал файл "hello.clj"
(ns clojure.examples.hello (:gen-class)) (defn -main [greetee] (println (str "Hello " greetee "!")))
и попытайтесь скомпилировать
clojurec hello.clj
Но я получил эту ошибку
Exception in thread "main" java.io.FileNotFoundException: Could not locate hello/clj__init.class or hello/clj.clj on classpath: at clojure.lang.RT.load(RT.java:398) at clojure.lang.RT.load(RT.java:367) at clojure.core$load__5058$fn__5061.invoke(core.clj:3734) at clojure.core$load__5058.doInvoke(core.clj:3733) at clojure.lang.RestFn.invoke(RestFn.java:413) at clojure.core$load_one__5010.invoke(core.clj:3578) at clojure.core$compile__5065$fn__5067.invoke(core.clj:3744) at clojure.core$compile__5065.invoke(core.clj:3743) at clojure.lang.Var.invoke(Var.java:346) at clojure.lang.Compile.main(Compile.java:56)
Я пытаюсь также поместить это в файл и выполнить clojore hello.clj
(compile 'clojure.examples.hello)
Но получил ту же ошибку.
Пространство имен под названием clojure.examples.hello
должно находиться в файле под названием hello.clj
в каталоге $CPDIR/clojure/examples
, где $CPDIR
- это каталог, включенный в classpath JVM.
В общем, попытки задать classpath и выдать команду компиляции вручную не имеют смысла. Вместо этого используйте Leiningen; в README есть довольно подробное объяснение того, что вам нужно сделать.