我在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
答案 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.1
和clojure-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