当前位置:  开发笔记 > 编程语言 > 正文

在Clojure中编译问题

如何解决《在Clojure中编译问题》经验,为你挑选了1个好方法。

我一直在尝试在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上运行,所以它可能是一个权限问题,但我检查了权限,但发现它们没有任何问题.



1> McDowell..:

用于在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)))

推荐阅读
echo7111436
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有