首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以在clojure 1.2主分支中使用swank-clojure吗?

我可以在clojure 1.2主分支中使用swank-clojure吗?
EN

Stack Overflow用户
提问于 2010-04-08 05:34:26
回答 3查看 1.1K关注 0票数 2

我很乐意使用swank-clojure,它是通过elpa安装的。但是我想做一些关于deftype、defprotocol等的工作,这些在clojure 1.1中是没有的。

为了使用我自己的类路径,我使用了Rick Moynihan在stackoverflow question about setting custom classpaths中的优秀建议,即设置一个脚本,如下所示:

代码语言:javascript
复制
#!/bin/bash 

java -server -cp "./lib/*":./src clojure.main -e "(do (require 'swank.swank) (swank.swank/start-repl))"

如果lib中的clojure jar文件是1.1,那么它可以很顺利地工作,但在1.2中,它会崩溃:

代码语言:javascript
复制
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兼容性还不存在呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-04-08 15:49:07

这里的问题如上所述。显然,您正在运行的Clojure与clojure-contrib不同步。您需要构建/使用针对您正在使用的clojure-contrib jar构建的Clojure构建,否则您将继续看到此错误。至少,这是我所知道的唯一会导致这个特定错误的东西。

不久前我为了解决这个问题几乎要自杀了。希望这能省去你的麻烦。

票数 3
EN

Stack Overflow用户

发布于 2010-04-08 10:14:57

是的,这是可能的。只需确保在同一文件夹中没有未匹配的clojure contrib jar即可。我有来自1.1的clojure contrib和一个clojure jar 1.2快照。

票数 2
EN

Stack Overflow用户

发布于 2010-08-23 20:38:46

emacs、swank、clojure和maven仍然是朋友:

我的这篇博客文章描述了我所见过的在Linux上运行swank服务器的最简单的方法。基本上,您创建一个pom文件并运行maven,它处理所有版本控制问题:

http://learnclojure.blogspot.com/2010/03/clojure-maven-emacs-eternal-golden.html

还有一篇后续文章展示了如何添加compojure。

这描述了如何使用maven的版本插件来查找和使用所有内容的最新版本,并添加incanter:

http://learnclojure.blogspot.com/2010/08/returning-after-long-absence.html

所有的东西都运行得很好。

ELPA现在似乎是在emacs中安装slime的最好方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2596107

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档