2010-07-30 7 views
9
내가 파일 "hello.clj"

Clojure의

 
(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) 

I를 가지고하는 방법 이것을 파일에 넣고 clojore를 실행 해보십시오. hello.clj

 
(compile 'clojure.examples.hello) 

하지만 같은 오류가 발생했습니다.

+0

호기심에서 벗어나'clojurec'은 ...? 너 어디서 났니? 나는 Leiningen을 정말로 추천한다 (세부 사항을 위해 나의 대답을 보라). 그것은 Clojure 커뮤니티에서 매우 광범위하게 사용되고 있으며 여러분은 그것을 사용하는데있어 도움을 얻는 데 아무런 문제가 없어야합니다. –

+0

리눅스 시스템의 표준 clojure 컴파일러이며, 쉘 스크립트는 다음과 같이 호출한다. exec java -cp /usr/share/java/clojure.jar:"$dest_dir$extra_clas spath "-Dclojure.compile.path ="$ dest_dir "clojure .lang.Compile "$ @" – jcubic

답변

6

clojure.examples.hello 요구라는 네임 스페이스가 파일에 상주 할 수는 $CPDIR는 JVM의 클래스 경로에 포함 된 디렉토리에있는 디렉토리 $CPDIR/clojure/exampleshello.clj을했다.

일반적으로 클래스 경로를 설정하고 손으로 컴파일 명령을 실행하는 것은 거의 의미가 없습니다. 대신 Leiningen을 사용하십시오. README에는 당신이해야 할 일에 대한 꽤 철저한 설명이 있습니다.