質問

私はClojureで非常に単純なtest.cljをコンパイルしようとしましたが、成功しませんでした。 スレッドがあります。 //groups.google.com/group/clojure "rel =" nofollow noreferrer "> 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: The system cannot find the path specified (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で実行しているため、アクセス権の問題である可能性がありますが、アクセス権を確認しましたが、問題は見つかりませんでした。

役に立ちましたか?

解決

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

他のヒント

 C:\clojrue\java -cp .\src;.\classes;clojure.jar 
    -Dclojure.compile.path=classes clojure.lang.Compile test.test
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top