Clojureでのコンパイルの問題
-
03-07-2019 - |
質問
私はClojureで非常に単純なtest.cljをコンパイルしようとしましたが、成功しませんでした。
(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
所属していません StackOverflow