我一直在尝试在Clojure中编译一个非常简单的test.clj而没有任何成功.我在Clojure谷歌集团有一个主题,有几个回复,但没有任何帮助.为了快速总结,这是我的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目录中.
此外,请注意你缺少你一个右括号主.更正版本:
(ns test.test (:gen-class)) (defn -main [gre] (println (str "Hello " gre)))