我有麻烦了的Compojure“入门”的例子,我做notunderstand。当我运行从 http://weavejester.github.com/compojure/的例子文档/获取-started.html

...我在LEIN REPL步骤得到以下错误:

~/hello-www> lein repl src/hello_www/core.clj
Exception in thread "main" java.lang.IllegalArgumentException: Wrong number of args passed to: repl$repl (NO_SOURCE_FILE:0)
    at clojure.lang.Compiler.eval(Compiler.java:5359)
    at clojure.lang.Compiler.eval(Compiler.java:5311)
    at clojure.core$eval__4350.invoke(core.clj:2364)
    at clojure.main$eval_opt__6502.invoke(main.clj:228)
    at clojure.main$initialize__6506.invoke(main.clj:247)
    at clojure.main$script_opt__6526.invoke(main.clj:263)
    at clojure.main$main__6544.doInvoke(main.clj:347)
    at clojure.lang.RestFn.invoke(RestFn.java:483)
    at clojure.lang.Var.invoke(Var.java:381)
    at clojure.lang.AFn.applyToHelper(AFn.java:180)
    at clojure.lang.Var.applyTo(Var.java:482)
    at clojure.main.main(main.java:37)
Caused by: java.lang.IllegalArgumentException: Wrong number of args passed to: repl$repl
    at clojure.lang.AFn.throwArity(AFn.java:439)
    at clojure.lang.AFn.invoke(AFn.java:43)
    at clojure.lang.Var.invoke(Var.java:369)
    at clojure.lang.AFn.applyToHelper(AFn.java:165)
    at clojure.lang.Var.applyTo(Var.java:482)
    at clojure.core$apply__3776.invoke(core.clj:535)
    at leiningen.core$_main__59$fn__61.invoke(core.clj:94)
    at leiningen.core$_main__59.doInvoke(core.clj:91)
    at clojure.lang.RestFn.applyTo(RestFn.java:138)
    at clojure.core$apply__3776.invoke(core.clj:535)
    at leiningen.core$_main__59.invoke(core.clj:97)
    at user$eval__67.invoke(NO_SOURCE_FILE:1)
    at clojure.lang.Compiler.eval(Compiler.java:5343)
    ... 11 more

我试图既稳定和LEIN的显影剂版本没有任何成功。就可以看看我下个什么想法?我同时获得在Linux和Cygwin相同的结果。

当我手动运行它,它似乎很好地工作在Linux:

java -cp "lib/*" clojure.main  src/hello_www/core.clj
2010-05-17 19:34:17.280::INFO:  Logging to STDERR via org.mortbay.log.StdErrLog
2010-05-17 19:34:17.281::INFO:  jetty-6.1.14
2010-05-17 19:34:17.382::INFO:  Started SocketConnector@0.0.0.0:8080
有帮助吗?

解决方案

考虑到的问题,您的评论 - 相关的部分是“随着雷音稳定它的工作原理,但不与git的主人。” - 我会说,你被Leiningen在从2010年4月16日提交repl推出44b6369aec1e23bcda1db1b6570a03ca524464e5任务的新处理命中

Leiningen 1.1发布2月16日在和做事的老办法,这意味着repl任务由lein脚本特殊处理;后44b6369aec Leiningen处理repl任务的方式所有其它的,即通过leiningen.repl/repl功能相同。后者根本不接受额外的参数,因此,元数相关IllegalArgumentException,你看到的。你问之前,我不知道这是有可能改变未来。

什么应该工作是lein repl随后(require 'hello-www.core);然而令人遗憾的是,似乎有与Leiningen的头一个问题,它会阻止该工作(至少在我的箱子)。这是一个安全的赌注,以期望它会得到最终解决,但暂时,只使用lein-stable。这的Compojure教程使用Clojure的1.1,而不是流血的边缘......这可能会给您节省一些时间来治疗Leiningen相同的方式。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top