我刚刚开始学习Clojure,但是很难理解为什么我的文件结构错误。在主文件(main.clj)中, 我只有这个:
(ns example.core
(:gen-class)
(:load "declare"))
...some code...
,在“ declare.clj”中,它在完全相同的类路径“ project / src”中,我有这个:
(in-ns 'example.core)
...some code...'
据我了解,我应该选择正确的语法,但我只会收到
找不到 clojurepractice2 / src / clojurepractice2 / declarations__init.class或 classpath上的clojurepractice2 / src / clojurepractice2 / declarations.clj。
来自REPL。我正在使用lein进行编码,我知道它应该自动设置类路径。有什么我想念的吗?
我尝试使用load-file
获得相同的结果。
答案 0 :(得分:0)
main.clj
应该具有名称空间example.main
。或将其重命名为core.clj
。这绝对是文件名和名称空间不匹配的问题。
答案 1 :(得分:0)
因为文件名应与名称空间名称相同。
如果文件位于 src/example/main.clj
中,则名称空间应为 example.main
。
用法是
(ns example.main
(:gen-class)
(:load "declare"))
文件路径是否为 src / example / main.clj ? main
中的example folder
在src
中吗?