3

我正在玩 Clojure,但我不知道如何从 clojure-contrib.jar 导入函数。根据这个答案,我正在执行以下操作:

像这样运行 REPL:

 java -cp clojure.jar:clojure-contrib.jar clojure.main

然后尝试导入一个函数:

user=>  (use '[clojure-contrib.duck-streams :only (writer reader)])

它不起作用,我收到以下错误:

java.io.FileNotFoundException: 无法在类路径上找到 clojure_contrib/duck_streams__init.class 或 clojure_contrib/duck_streams.clj: (NO_SOURCE_FILE:0)

尝试用点而不是破折号也不起作用:

user=>  (use '[clojure.contrib.duck-streams :only (writer reader)])

我得到了几乎相同的错误:

java.io.FileNotFoundException: 无法在类路径上找到 clojure/contrib/duck_streams__init.class 或 clojure/contrib/duck_streams.clj: (NO_SOURCE_FILE:0)

我究竟做错了什么?

4

3 回答 3

2

clojure.jarclojure-contrib.jar在您当前的工作目录中吗?如果没有,您需要在 CLASSPATH 中指定 JAR 文件的完整路径。

于 2010-07-22T18:39:42.207 回答
1

这应该工作

(use 'clojure.contrib)

我现在没有 clojure 方便检查,但是

(use 'clojure.contrib :only (writer reader))

也应该工作

于 2010-07-22T21:17:21.970 回答
0

它是 clojure.contrib,而不是 clojute-contrib。注意点与破折号。

于 2010-07-22T18:45:20.463 回答