Я с удовольствием использую swank-clojure, установленный через elpa. Но я хотел бы поработать с deftype, defprotocol и т. д., которых нет в clojure 1.1.
Чтобы использовать свои собственные пути к классам, я использую отличное предложение Рика Мойнихана в вопрос stackoverflow о настройке пользовательских путей к классам, который должен был настроить такой скрипт, как:
#!/bin/bash
java -server -cp "./lib/*":./src clojure.main -e "(do (require 'swank.swank) (swank.swank/start-repl))"
И это работает плавно, если файл jar clojure в lib 1.1, но с 1.2 он взрывается:
Exception in thread "main" java.lang.NoSuchMethodError: clojure.lang.RestFn.<init>(I)V (macroexpand.clj:1)
at clojure.lang.Compiler.eval(Compiler.java:5274)
at clojure.lang.Compiler.load(Compiler.java:5663)
at clojure.lang.RT.loadResourceScript(RT.java:330)
at clojure.lang.RT.loadResourceScript(RT.java:321)
at clojure.lang.RT.load(RT.java:399)
at clojure.lang.RT.load(RT.java:371)
at clojure.core$load__5663$fn__5671.invoke(core.clj:4255)
at clojure.core$load__5663.doInvoke(core.clj:4254)
at clojure.lang.RestFn.invoke(RestFn.java:409)
...and many, many more
Так есть ли какое-то волшебное заклинание, чтобы заставить это работать, или совместимость с clojure 1.2 еще не существует?
lib/
с Clojure и swank и, самое большее, скелет пространства имен в каталогеsrc/
.) Кроме того, если что-то действительно не так с вашим проектом и/или настройкой swank, может быть полезно увидеть всю трассировку стека. ... - person Michał Marczyk   schedule 08.04.2010