Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Clojure Can';t运行clj文件原因";不能';“t定位”;在cljs中+;clj项目_Clojure_Clojurescript_Leiningen - Fatal编程技术网

Clojure Can';t运行clj文件原因";不能';“t定位”;在cljs中+;clj项目

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

我有两个项目:Clojure上的后端和ClojureScript上的前端。 我决定合并它们。所以我从两个项目中复制了文件,运行了
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)。