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
答案 0 :(得分:4)
首先,我建议您使用Leiningen为您管理CLASSPATH
。其次,我发现代表我的主目录的~
字符永远不会在CLASSPATH
上下文中工作 - 我必须指定绝对路径,没有别名(例如/Users/colin/path/to/project
)。第三,在类路径上使用src
和test
是常规的,但不是项目的根级别。
答案 1 :(得分:1)
在文件名和命名空间中使用破折号和下划线时要非常小心。如果你没有正确的命名约定,这可能是很多混乱的根源。见https://stackoverflow.com/a/2223369/32174,第2点。正如@trptcolin提到的,使用Leiningen。