7

Clojure で非常に単純な test.clj をコンパイルしようとしましたが、成功しませんでした。Clojure Google Groupスレッドがあり、いくつかの回答が寄せられていますが、何も役に立ちません。簡単に要約すると、これが私の clojure ファイルです。

(ns test.test
    (:gen-class))

(defn -main
    [gre]
    (println (str "Hello " gre)))

基本的には、Clojure ドキュメントで提供されているサンプル ファイルです。

このファイルを に適切に配置したclojure/src/test/test.cljので、 でコンパイルできるはずですが(compile 'test.test)、エラーが発生し続けます。

java.io.IOException: 指定されたパスが見つかりません (test.clj:1)
これは、クラスパスの問題であると私に信じさせます。Clojureのドキュメントに記載されているすべての標準コマンドと、スレッドからの最新の提案を使用して、Clojure を実行してみましたjava -classpath .;src;classes;clojure.jar clojure.main

それが役立つ場合、私のファイルシステムは次のようになります。

-+-clojure
 +-classes/
 +-+-src/
 | |-+-test/
 | | \-test.clj
 +-\-test.clj
 +-test.clj
 +-clojure.jar

PS 私は Vista Ultimate で実行しているため、アクセス許可の問題である可能性がありますが、アクセス許可を確認したところ、問題は見つかりませんでした。

4

2 に答える 2

9

Windows でtest.cljをコンパイルするためのコンソール出力:

C:\clojure>dir /b/s
C:\clojure\classes
C:\clojure\src
C:\clojure\src\test
C:\clojure\src\test\test.clj

C:\clojure>java -cp c:\dev\clojure.jar;.\src;.\classes clojure.lang.ReplClojure
user=> (compile 'test.test)
test.test
user=>

生成されたクラス ファイルは、classes ディレクトリにあります。

また、 mainに右括弧がないことに注意してください。修正版:

(ns test.test
    (:gen-class))

(defn -main
    [gre]
    (println (str "Hello " gre)))
于 2009-03-03T18:52:28.900 に答える
0
 C:\clojrue\java -cp .\src;.\classes;clojure.jar 
    -Dclojure.compile.path=classes clojure.lang.Compile test.test
于 2010-10-01T09:51:06.250 に答える