profile.clj中的依赖项未加载到lein repl中

时间:2015-02-12 13:22:36

标签: clojure leiningen read-eval-print-loop

.lein / profiles.clj具有依赖关系,

{:user {}
     :repl {:dependencies [[org.clojure/clojure "1.4.0"]
                       [ring/ring "1.1.6"]]
        }}

在repl中

(require 'ring.adapter.jetty)

抛出,

java.io.FileNotFoundException: Could not locate ring/adapter/jetty__init.class or ring/adapter/jetty.clj on classpath:  (NO_SOURCE_FILE:0)

这意味着,ring依赖项未在repl shell中加载。有什么错误吗?

1 个答案:

答案 0 :(得分:0)

首先,我建议您阅读https://github.com/technomancy/leiningen/blob/stable/doc/PROFILES.md,因为我不确定您是否正确使用了个人资料。特别是,最后它显示了一种调试配置文件的方法,它将向您显示正在进行的操作。

其次,我不确定“没有项目 - 我从bash shell运行它”。如果您加载jetty并使用ring,您还需要设置处理程序,路由和可能的中间件的代码。这意味着代码文件,这意味着项目树。使用lein new创建一个基本项目,并从该项目的根目录运行。

但是,如果你真的需要像你说的那样做,我建议你做一下

{:user {:dependencies [[....]]}}作为你的profiles.clj因为我怀疑发生的事情是lein没有加载你的:repl个人资料。您也可以尝试使用显式配置文件运行lein,即lein with-profile + repl repl