Как скомпилировать файл в clojure

Я создал файл "привет.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)

но получил ту же ошибку.

1 ответов


пространство имен с именем clojure.examples.hello должен находиться в файле с именем hello.clj в каталоге $CPDIR/clojure/examples, где $CPDIR - это каталог, включенный в путь к классам JVM.

В общем, попытка установить путь к классам и выдать команду компиляции вручную имеет мало смысла. Использовать Leiningen вместо этого; README имеет довольно подробное объяснение того, что вам нужно будет сделать.