【问题标题】:Why does my Clojure import fail?为什么我的 Clojure 导入失败?
【发布时间】:2011-09-29 01:59:48
【问题描述】:

我在 IntelliJ 中运行带有 contrib 1.1 的 Clojure 1.3。我的程序由一行组成

(use 'clojure.contrib.prxml)

运行时出现以下错误

Exception in thread "main" java.lang.RuntimeException: java.lang.NoSuchMethodError: clojure.lang.RestFn.<init>(I)V

【问题讨论】:

  • 对于 Clojure 1.3 项目,prxml.clj 可以简单地从 contrib like this 复制。

标签: clojure clojure-contrib


【解决方案1】:

我正在使用 contrib 1.1 运行 Clojure 1.3

你的问题。 Clojure 和 contrib 版本相互关联,并且跨版本不兼容。

更重要的是,从 1.3 开始,contrib 已被拆分为许多较小的库,因此实际上没有可以在 1.3 中使用的“monolithic contrib”版本。

【讨论】:

    【解决方案2】:

    除了说contrib 1.1与clojure 1.3不兼容的答案

    取自here

    clojure-contrib 的版本与 Clojure 的版本相匹配。

    如果您使用 Clojure 1.0,请使用 clojure-contrib 1.0。

    如果您使用 Clojure 1.1,请使用 clojure-contrib 1.1。

    如果您使用 Clojure 1.2,请使用 clojure-contrib 1.2 或新的 modular Contrib 库。

    如果您使用 Clojure 1.3,请使用新的 modular Contrib 库。

    截至本回复日期,我不确定是否有与clojure-1.3 兼容的clojure.contrib.prxml 版本(如果我错了,请大家纠正我)。

    所以我建议使用clojure-1.2.1clojure-contrib 1.2.0

    【讨论】:

      【解决方案3】:

      调用 clojure 1.2 和 contrib 1.2 没有问题

      如果您不需要任何特定于 1.3 的内容,我建议您暂时坚持使用 1.2,使用 clojure 1.2 和 contrib 1.2,直到 contrib 作者正确过渡到 1.3

      【讨论】:

        猜你喜欢
        • 2018-12-25
        • 2018-10-14
        • 1970-01-01
        • 1970-01-01
        • 2021-07-25
        • 2021-09-14
        • 2016-01-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多