为什么我的Clojure导入失败?

时间:2011-09-29 01:59:48

标签: clojure clojure-contrib

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

3 个答案:

答案 0 :(得分:6)

  

我正在使用contrib 1.1运行Clojure 1.3

有你的问题。 Clojure和contrib版本相互链接,并且版本不兼容。

更进一步,从1.3开始,contrib已被分解为许多较小的库,因此实际上没有可以与1.3一起使用的“单片贡献”版本。

答案 1 :(得分:5)

除了回答说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.contrib.prxml的版本与clojure-1.3兼容(如果我错了,请有人纠正我。)

因此我建议您使用clojure-1.2.1clojure-contrib 1.2.0

答案 2 :(得分:2)

调用适用于clojure 1.2和contrib 1.2

没有任何问题

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