这是我失败的秘诀:
lein新基座-app生成-app
然后,我修改project.clj如下:
(defproject generative-app "0.0.1-SNAPSHOT"
:description "FIXME: write description"
:repl-options {:init (use 'dev)}
:dependencies [[org.clojure/test.generative "0.4.0"]
[org.clojure/clojure "1.5.1"]
[org.clojure/clojurescript "0.0-1586"]
[domina "1.0.1"]
[ch.qos.logback/logback-classic "1.0.7" :exclusions [org.slf4j/slf4j-api]]
[io.pedestal/pedestal.app "0.1.10"]
[io.pedestal/pedestal.app-tools "0.1.10"]]
:profiles {:dev {:source-paths ["dev"]}}
:min-lein-version "2.0.0"
:source-paths ["app/src" "app/templates"]
:resource-paths ["config"]
:target-path "out/"
:aliases {"dumbrepl" ["trampoline" "run" "-m" "clojure.main/main"]})基本上,我添加了test.generative,并让它在启动时执行(use 'dev)。
然后输入项目并输入lein repl,得到错误:
Exception in thread "main" java.io.FileNotFoundException: Could not locate clojure/tools/namespace/find__init.class or clojure/tools/namespace/find.clj on classpath:
....
at io.pedestal.app_tools.server$eval3008$loading__4910__auto____3009.invoke(server.clj:12)
....
at dev$eval1071$loading__4910__auto____1072.invoke(dev.clj:1)很明显,当(use 'dev)运行时,有些事情就会乱了套。我真的不知道是什么。
如果有人想要尝试一下,我会把上面的步骤放到git@github.com:samedhi/generative app.git的项目中,这样您就可以简单地
> git clone git@github.com:samedhi/generative-app.git
> cd generative-app
> lein repl谢谢你的帮助。
发布于 2013-08-16 07:59:12
错误来自clojure.tools.namespace。
运行lein deps :tree以显示依赖树-在本例中,相关的位元是:
[io.pedestal/pedestal.app-tools "0.1.11-20130719.140954-2"]
[org.clojure/tools.namespace "0.2.1"]和
[org.clojure/test.generative "0.4.0"]
[org.clojure/tools.namespace "0.1.1"]您可以看到冲突- test.generative 0.4.0依赖于早期版本的tools.namespace。
在project.clj的相关行中添加排除项
[org.clojure/test.generative "0.4.0" :exclusions [org.clojure/tools.namespace]]这将使项目编译,您可以运行(use dev)和(start)。但是,在排除tools.namespace 0.1.1之后,test.generative将不再工作(如果它依赖于tools.namespace 0.1.1中的函数并随后不再推荐),这是有风险的。希望一切都会好起来,但如果不是,您可能需要等待test.generative赶上tools.namespace的更高版本。
https://stackoverflow.com/questions/18263738
复制相似问题