Clojure Can';t运行clj文件原因";不能';“t定位”;在cljs中+;clj项目
我有两个项目:Clojure上的后端和ClojureScript上的前端。 我决定合并它们。所以我从两个项目中复制了文件,运行了Clojure Can';t运行clj文件原因";不能';“t定位”;在cljs中+;clj项目,clojure,clojurescript,leiningen,Clojure,Clojurescript,Leiningen,我有两个项目:Clojure上的后端和ClojureScript上的前端。 我决定合并它们。所以我从两个项目中复制了文件,运行了leindeps,并尝试启动我的后端。所以我犯了这个错误 Couldn't locate web.clj on classpath 在我的项目源路径中: ["src/clj" "src/cljs"] 和main^:跳过aot clj.web 我的前端工作正常 我的文件夹结构: src clj web.clj c
leindeps
,并尝试启动我的后端。所以我犯了这个错误
Couldn't locate web.clj on classpath
在我的项目源路径中:
["src/clj" "src/cljs"]
和main^:跳过aot clj.web
我的前端工作正常我的文件夹结构:
src
clj
web.clj
cljs
*some cljs files*
那么,如何设置我的
源路径
设置以运行我的后端?您要启动的名称空间不是clj.web
,而是web
,因此您的项目.clj
文件应该具有:
main ^:skip-aot web
您的web.clj
文件应包含:
(ns web)
如果将来使用子文件夹,名称空间将映射为:
(ns com.my company.clojure.examples.my utils)
ns
表单命名lib的名称空间并声明其依赖项。根据其名称,此库通常在类路径相对路径的源文件中定义:com/my_company/clojure/examples/my_utils.clj(注意句点到斜杠和连字符到下划线的转换)
您要启动的命名空间不是
clj.web
,而是web
,因此您的project.clj
文件应该具有:
main ^:skip-aot web
您的web.clj
文件应包含:
(ns web)
如果将来使用子文件夹,名称空间将映射为:
(ns com.my company.clojure.examples.my utils)
ns
表单命名lib的名称空间并声明其依赖项。根据其名称,此库通常在类路径相对路径的源文件中定义:com/my_company/clojure/examples/my_utils.clj(注意句点到斜杠和连字符到下划线的转换)
首先想到的是,您似乎在src/clj下没有子文件夹……为了使您的Clojure命名空间至少由两部分组成(它们应该是这样的),这是必要的。我会尝试将您的web.clj移动到/src/clj/projectname/web.clj,并将ns声明更改为
(ns projectname.web…
)。然后相应地更改project.clj中的入口点(例如main fn)。首先想到的是,您似乎在src/clj下没有子文件夹……为了使您的Clojure命名空间至少由两部分组成(它们应该是这样的),这是必要的。我会尝试将您的web.clj移动到/src/clj/projectname/web.clj,并将ns声明更改为(ns projectname.web…
)。然后相应地更改project.clj中的入口点(例如main fn)。