我已经尝试将clojure-contri.jar放在我的文件系统的各个地方,我尝试在启动REPL时手动指定类路径,我尝试解压jar并将clj文件放在类路径中,似乎都不起作用。我继续得到这样的东西:
java.io.FileNotFoundException: Could not locate clojure/contrib/str_utils__init.
class or clojure/contrib/str_utils.clj on classpath: (NO_SOURCE_FILE:0)当我执行(println (seq (.getURLs (java.lang.ClassLoader/getSystemClassLoader))))查看类路径时,它确实包含clojure-contrib:
(#<URL file:/C:/Program%20Files/Java/jre1.6.0_06/lib/clojure-1.0.0.
jar> ... #<URL file:/C:/Program%20Files/Java/jre1.6.0_06/lib/clojure-contrib.jar>)当我创建自己的.clj文件并将其放在类路径中时,我可以使用或需要它,并且可以访问它的功能。
如果我把一个.clj文件--例如str-utils.clj --移到pwd (它在类路径上),它至少会找到这个文件,尽管它通常不能对它做任何事情,因为它找不到对clojure-contrib中其他函数的依赖。
你知道为什么这不适用于clojure-contrib吗?
发布于 2009-12-02 04:47:43
如果您编译了自己的clojure-contrib jar,那么您可能使用了与1.0不兼容的main分支。
遵循Using clojure-contrib with Clojure 1.0文档,签出clojure-contrib1.0标签的修订版。
还有一个保持1.0兼容性的clojure-contrib git branch。
https://stackoverflow.com/questions/1825843
复制相似问题