你如何用Leiningen指定类路径?

时间:2014-05-17 17:42:32

标签: clojure classpath leiningen

在Clojure中,我有一个Leiningen项目和我的来源

/src/project/core.clj

我想为此添加一个子目录。例如

/src/project/examples/example-one.clj

在我的core.clj文件中,我尝试从

拉入
project.examples.example-one

但是lein编译仍告诉我

Could not locate project/examples/example_one__init.class or project/examples/example_one.clj on classpath: 

如果在主代码目录中添加子目录,是否必须显式更新project.clj文件? (我没有看到主代码目录本身是明确给出的。)

2 个答案:

答案 0 :(得分:6)

如果您的命名空间包含破折号,则相应的文件应包含下划线而不是破折号。你可以在这里阅读原因:

why-does-clojure-convert-dashes-in-names-to-underscores-in-the-filesystem

除非您添加不同的源代码,如Java,Groovy等...默认情况下,lein将包含src文件夹中的所有命名空间。

答案 1 :(得分:0)

啊......似乎我的文件名中没有连字符?

对于Lisp方言有点奇怪,现在我已经习惯使用连字符作为我的函数名中的默认分隔符。