【发布时间】:2021-06-16 18:39:06
【问题描述】:
我在基座指南中使用初学者指南,但是在尝试使用命名空间时(需要“测试”),我收到以下错误消息: “用户/eval2012 (REPL:1) 处的执行错误 (FileNotFoundException)。 无法在类路径上找到 test__init.class、test.clj 或 test.cljc。”
尝试时会发生同样的事情(需要'hello)
我正在使用 lein repl。
我有一个名为 test 的目录,在 src 下有一个名为 test.clj 的文件
test/src/test.clj:
(ns test
(:require [io.pedestal.http :as http]
[io.pedesteal.http.route :as route]))
test/src/hello.clj:
(defn respond-hello [request]
{:status 200 :body “Herllo world”})
有什么想法吗?
测试/deps.edn:
:deps
{io.pedestal/pedestal.service {:mvn/version "0.5.7"}
io.pedestal/pedestal.route {:mvn/version "0.5.7"}
io.pedestal/pedestal.jetty {:mvn/version "0.5.7"}
org.slf4j/slf4j-simple {:mvn/version "1.7.28"}}
:paths ["src"]}
【问题讨论】:
-
当然,您必须向我们展示您的文件/目录结构和 project.clj,但乍一看:如果这些应该是测试,通常没有
src下面test目录 - 你好,但缺少ns? -
没有project.clj,我只是跟着基座教程。文件结构如上所示,即:test/src/test.clj 和 test/src/hello.clj。名称 test 是任意的,它与任何测试无关。我在上面添加了deps.edn
-
那你不应该使用
lein repl吗?如果您为 clojure cli 工具配置内容,它将找不到文件。所以你的目录结构中的第一级test是你的项目的名称,那么你实际上是在使用其中的所有这些工具吗?供将来参考:不要在问题中这样做 - 它会让人们(比如我)感到困惑 - 只需假设项目根目录。
标签: clojure namespaces read-eval-print-loop leiningen pedestal