我正在玩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)
我做错了什么?
答案 0 :(得分:2)
您当前的工作目录中是clojure.jar
和clojure-contrib.jar
吗?如果没有,则需要在CLASSPATH中指定JAR文件的完整路径。
答案 1 :(得分:1)
这应该有效
(use 'clojure.contrib)
我现在没有方便查看,但
(use 'clojure.contrib :only (writer reader))
也应该有用
答案 2 :(得分:0)
这是clojure.contrib,非clojure-contrib。注意点与破折号。