编译时ns错误

时间:2012-07-05 04:22:31

标签: clojure

我想在功能块中导入依赖项。 w这些依赖项不公开,因此我不能通过project.clj包含它们并在ns块中要求它们。

但是,这些jar在服务器env中可用,并且当下面的deps在类路径中时,服务器调用以下函数。

但是当我在服务器env之外编译下面的函数时,我仍然遇到编译器错误,它无法找到util和web ns。

(defn imm
  []
  (require '[immutant.web :as web]
           '[immutant.utilities :as util])
  (server/load-views (io/file (util/app-root) "src/pm/views"))
  (web/start "/dev" handler))

1 个答案:

答案 0 :(得分:1)

您必须延迟Var分辨率。

(defn imm
  []
  (require '[immutant.web :as web] '[immutant.utilities :as util])
  (server/load-views (io/file @(resolve 'util/app-root) "src/pm/views"))
  (@(resolve 'web/start) "/dev" handler))