我正在使用Leiningen(第一次)管理我的写作应用程序.到目前为止,我已经定义了项目依赖项,在项目lib目录中安装了deps,并且我已经定义了一个函数.当我lein repl
从项目根运行然后调用我定义的函数时,我得到了错误unable to resolve symbol
.任何人都知道我做错了什么以及如何通过Leiningen正确运行我的应用程序?谢谢.
Art*_*ldt 30
从leiningen repl中,您将不得不切换到使用in-ns
宏定义函数的命名空间.
(in-ns 'myproject.core)
Run Code Online (Sandbox Code Playgroud)
然后该函数应该可用,
您也use
可以从repl中将该命名空间包含在默认(用户)命名空间中.
(use 'myproject.core)
Run Code Online (Sandbox Code Playgroud)
之后,你可能要考虑寻找到的lein run
,lein uberjar
和lein jar
leiningen任务.
Sco*_*ott 16
在我的项目中,对于包含由此定义的命名空间的core.clj文件:
(ns my-project.core)
Run Code Online (Sandbox Code Playgroud)
...我在project.clj中设置:main
Leiningen defproject
地图中的键:
(defproject my-project "1.0.0-SNAPSHOT"
:description "My project description"
:dependencies [[org.clojure/clojure "1.2.1"]]
:main my-project.core)
Run Code Online (Sandbox Code Playgroud)
所以当我运行时lein repl
,我的核心命名空间会自动加载,我看到了:
mac:my-project scott$ lein repl
REPL started; server listening on localhost:31515.
my-project.core=>
Run Code Online (Sandbox Code Playgroud)