我正在使用emacs和clojure-swank和slime,并尝试设置我的开发环境。我遇到了一个问题。当我启动一个repl时,我被困在一个未知的目录中,阻止我加载我的名称空间。因为clojure repl找不到正确的文件。
有人知道如何更改当前目录吗?
附言:我刚开始使用emacs和slime,所以我还是个菜鸟。
发布于 2009-12-28 06:20:06
Leiningen是一个新的Clojure构建工具,它为你担心classpathing。您可以在项目的根目录中设置一个简单的项目文件来指定项目的主类,它会自动发现lib目录中的所有JAR并为您加载它们。
我现在只需在命令行中输入"lein swank“,然后在Emacs中输入M-x slime-connect,一切都会正常工作。(使用一点Elisp就可以很容易地实现自动化。)
有关更多信息,请访问this blog post。
发布于 2009-12-27 01:01:13
简短的回答:
(load-file "full-path-to-definition")
长长的答案:下面是我的引导过程:
在~/.clojure/user.clj中(此文件在引导slime/clojure时自动运行):
(add-classpath "file://path/to/foo.jar") ; Include these jars in the classpath
(add-classpath "file://path/to/foo2.jar")
(load-file "file://workspace/bootstrap.clj")
在bootstrap.clj中:
(compile 'my.package)
程序包文件位于/workspace/my/package.clj
在package.clj中:
(ns my.package)
(defn foo [] (+ 2 2))
发布于 2010-01-02 01:57:23
在使用Emacs、SLIME和swank-clojure时,我发现最好的方法是使用(Emacs Lisp)函数swank-clojure-project。从它的文档中:
(swank-clojure-项目路径)
为一个clojure项目设置类路径,并启动一个新的SLIME会话。如果有,则终止现有的粘滞会话。
如果您执行"M-x swank-clojure- project ",它将以交互方式提示您输入项目目录;一旦您选择了它,lib子目录中的所有jars以及src和classes文件夹都将添加到您的类路径中。它还将遵循Maven/lein目录结构,换句话说:它通常会正常工作。
如果您更改了某些内容,例如添加新的jar文件,只需再次执行swank-clojure-project即可。
https://stackoverflow.com/questions/1963544
复制相似问题