2011-09-29 90 views
3

我使用IntelliJ中的contrib 1.1运行Clojure 1.3。我的程序由一个单一的线为什么我的Clojure导入失败?

(use 'clojure.contrib.prxml) 

我一旦运行

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

对于Clojure的1.3的项目,'prxml.clj'可以简单地从的contrib [这样](http://www.math.tu-dresden.de/extern/cgi-bin/algebra/borch/gitweb复制。 CGI p = Clojure的-conexp.git; A = commitdiff; H = 80fab31a485855cb6bd04b26a3a559b937b19903)。 –

回答

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

没有收到以下错误是错误的与呼叫使用Clojure 1.2和1.2的contrib

工作如果不这样做需要什么特定的1.3我建议坚持1.2暂且使用Clojure的1.2和1.2的contrib直到contrib请作者正确地过渡到1.3

6

我正在运行Clojure 1.3 with contrib 1.1

这是你的问题。 Clojure和contrib版本相互关联,并且在不同版本之间不兼容。

更有甚者,contrib请已经分裂成许多小库,1.3的,所以真的没有版本的“铁板一块的contrib”,您可以用1.3使用。