从jar中导入clojure函数

时间:2010-07-22 18:36:10

标签: clojure clojure-contrib

我正在玩Clojure,我无法弄清楚如何从clojure-contrib.jar导入一个函数。从this回答,我正在做以下事情:

像这样运行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)

我做错了什么?

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

这应该有效

(use 'clojure.contrib)

我现在没有方便查看,但

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

也应该有用

答案 2 :(得分:0)

这是clojure.contrib,非clojure-contrib。注意点与破折号。