1

clojure 项目中有两个目录 - src/ 和 test/。在 src/calc/ 目录中有一个文件 my_methods.clj 以

(ns calc.my_methods...).

我想在测试目录中为它创建一个测试文件 - test/my_methods-test.clj

(ns test.my_methods-test
  (:require [calc.my_methods])
  (:use clojure.test))

在 $CLASSPATH 中有项目根目录和 src/ 目录。但例外仍然是

“无法在类路径上找到 calc/my_methods__init.class 或 calc/my_methods.clj”。在测试文件中要求它有什么问题?

echo $CLASSPATH给出了这个:

~/project:~/project/src
4

2 回答 2

4

首先,我建议使用Leiningen为您管理CLASSPATH。其次,我发现~代表我的主目录的字符在CLASSPATH上下文中永远不会起作用 - 我必须指定绝对路径,没有别名(例如/Users/colin/path/to/project)。第三,在类路径上有srcand是常规test的,但不是项目的根级别。

于 2012-06-06T04:32:05.073 回答
1

在文件名和命名空间中使用破折号和下划线时要非常小心。如果你没有得到正确的命名约定,这可能是很多混乱的根源。请参阅https://stackoverflow.com/a/2223369/32174,第 2 点。正如@trptcolin 提到的,使用 Leiningen。

于 2012-06-06T04:50:36.230 回答