Clojure Box: 类路径

5

我在Windows 7机器上阅读《Clojure编程》这本书,卡在了第37页。把“examples”目录下载到了“C:/clojure”下后,我输入了以下命令:

user> (require 'examples.introduction)

而我得到了

; Evaluation aborted.

java.io.FileNotFoundException: Could not locate examples/
introduction__init.class or examples/introduction.clj on classpath:
(NO_SOURCE_FILE:0)

我的.emacs文件看起来像这样:

(setq swank-clojure-extra-classpaths
           (list "C:/Clojure"))

C:/Clojure目录下的文件已经存在(我已经三次检查过了)。

非常感谢您的帮助。


1
为了确保,您能否从REPL检查您的类路径:(System/getProperty "java.class.path") - Siddhartha Reddy
你能确认一下 Clojure 是否从正确的位置运行吗? user> (. System getProperty "user.dir") 将会打印出当前目录。请检查它是否为 C:/Clojure。 - MattyW
谢谢你们在REPL内检查classpath和用户目录的提示。这里是结果。 classpath 是:"c:/Program Files/Clojure Box/swank-clojure/src;c:/Program Files/Clojure Box/lib/clojure-contrib.jar;c:/Program Files/Clojure Box/lib/clojure.jar"而用户目录是:"c:\Clojure"对于我的(非)格式化表示抱歉;不幸的是,我还不知道如何在评论中格式化源代码。 - Rainer
我遇到了错误,除非我执行(set! compile-path ".")。 - mcandre
2个回答

1
问题解决了!.emacs文件应该包含这一行——注意"classpath"没有"s"):
(setq swank-clojure-classpath
        (list "c:/Clojure"))

感谢Shawn Hoover通过电子邮件给我提供了这个答案。(也感谢其他所有人的提示!)

0
尝试一下
(setq swank-clojure-extra-classpaths ("C:/Clojure"))

谢谢,我试过了。不起作用:<code> 警告(初始化):加载“c:/Emacs/.emacs”时发生错误:无效的函数:C:/Clojure为确保正常运行,您应该调查并删除初始化文件中的错误原因。使用“--debug-init”选项启动Emacs以查看完整的错误回溯。</code> - Rainer
啊,我的错。字符串周围没有括号,它正在尝试对其进行评估(我也是新手)。(setq swank-clojure-extra-classpaths "C:/Clojure") - M Aguilar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接