让slime在classpath和contrib上查找文件

时间:2012-03-30 17:44:12

标签: clojure classpath slime

我最近决定开始使用Slime / Swank来编写Clojure。我昨天按照this blogpost的字母安装了Incanter,Clojure,Slime和Swank,这封信很好。但是,我遇到了让Slime在类路径中查找目录和文件的问题。我在OS X 10.6上使用Aquamacs中的lein swankslime-connect运行Slime。我有两个问题:

1)我建立了一个小项目来构建一个生命模拟游戏。我之前做了一个名为grid.clj的文件,我把它放在项目的lib目录中。在core.clj中我添加了以下内容

(ns gof.core
  (:require grid))

(def w (grid.make_grid 8))

在这段代码之后执行C-x C-e会在repl:

中显示此错误消息
Could not locate grid__init.class or grid.clj on classpath: 
  [Thrown class java.io.FileNotFoundException]

所以我使用

查看了我的类路径
(doseq [p (.getURLs (java.lang.ClassLoader/getSystemClassLoader))] (println (.getPath p)))

产生了这个:

/Users/zjanes/Documents/gof/test/
/Users/zjanes/Documents/gof/test-resources
/Users/zjanes/Documents/gof/src/
/Users/zjanes/Documents/gof/classes/
/Users/zjanes/Documents/gof/resources
/Users/zjanes/Documents/gof/lib/clojure-1.3.0.jar
/Users/zjanes/Documents/gof/lib/grid.clj
/Users/zjanes/.lein/plugins/swank-clojure-1.3.4.jar
nil
user> 

在我看来,grid.clj在这个类路径上,为什么我收到错误信息呢?

2)在试图解决这个问题时,我看了一下clojure-1.3.0.jar,找不到任何看起来像clojure.contrib的内容。如上所述安装clojure时是否包含contrib?

我确信很明显我是一个完整的新手,所以答案越清楚,知识越少,就越好。

为了完整起见,我查看了这些答案(1 2 3)和this page,以及一些谷歌搜索。

提前致谢

1 个答案:

答案 0 :(得分:0)

该教程是从2009年开始的,据我所知,无法使用这些说明进行操作。

Clojure contrib已被拆分为clojure 1.3中的许多子项目,因此它不再以该名称退出。

一般来说,clojure命名空间现在有两部分,例如:

(ns gof.core
  (:require [incanter.grid])