【问题标题】:Can not get clojure-contrib to load - FileNotFoundException无法加载 clojure-contrib - FileNotFoundException
【发布时间】:2009-12-01 12:19:01
【问题描述】:

我尝试将 clojure-contrib.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?

【问题讨论】:

  • 您是从命令行还是 IDE 运行 Clojure?如果从命令行发布,请发布您用来启动它的确切命令。您使用的是哪个版本的 Clojure?

标签: clojure


【解决方案1】:

如果您编译了自己的 clojure-contrib jar,您可能使用了与 1.0 不兼容的主分支。

按照Using clojure-contrib with Clojure 1.0 文档查看带有 1.0 标记的 clojure-contrib 修订版。

还有一个 clojure-contrib git branch 保持 1.0 的兼容性。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-13
    • 1970-01-01
    • 1970-01-01
    • 2020-04-22
    相关资源
    最近更新 更多