3

我在 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
4

3 回答 3

6

我正在使用 contrib 1.1 运行 Clojure 1.3

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

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

于 2011-09-29T02:49:14.567 回答
5

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

取自这里

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

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

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

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

如果您使用 Clojure 1.3,请使用新的模块化 Contrib库。

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

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

于 2011-09-29T03:44:28.170 回答
2

调用 clojure 1.2 和 contrib 1.2 没有问题

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

于 2011-09-29T02:39:45.660 回答