如何使用Leiningen运行代码?

时间:2011-07-21 21:22:32

标签: clojure

我正在使用Leiningen(第一次)管理我的写作应用程序。到目前为止,我已经定义了项目依赖项,在项目lib目录中安装了deps,并且我已经定义了一个函数。当我从项目根运行lein repl然后调用我定义的函数时,我得到错误unable to resolve symbol。任何人都知道我做错了什么以及如何通过Leiningen正确运行我的应用程序?感谢。

2 个答案:

答案 0 :(得分:30)

来自leiningen repl的

您必须切换到使用in-ns宏定义函数的命名空间。

(in-ns 'myproject.core)

然后该功能应该可用 您还可以use来自repl的命名空间将其包含在默认(用户)命名空间中。

(use 'myproject.core)

之后您可能需要考虑查看lein runlein uberjarlein jar leiningen任务。

答案 1 :(得分:16)

在我的项目中,对于包含由此定义的命名空间的core.clj文件:

(ns my-project.core)

...我在Project.clj中的Leiningen的:main地图中设置了defproject键:

(defproject my-project "1.0.0-SNAPSHOT"
  :description "My project description"
  :dependencies [[org.clojure/clojure "1.2.1"]]
  :main my-project.core)

因此,当我运行lein repl时,我的核心命名空间会自动加载,我看到了:

mac:my-project scott$ lein repl
REPL started; server listening on localhost:31515.
my-project.core=>