Falsche Anzahl von Argumenten übergeben: repl $ repl
Frage
Ich habe ein Problem mit einem compojure „Getting started“ Beispiel, dass ich notunderstand tun. Wenn ich laufe das Beispiel von http://weavejester.github.com/compojure/ docs / getting-started.html
... Ich erhalte die folgenden Fehler bei dem lein repl Schritt:
~/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
Ich habe versucht, sowohl die stabile und die Entwicklerversion von lein ohne Erfolg. Alle Ideen, was ich für das nächste aussehen könnte? Ich bekomme das gleiche Ergebnis sowohl auf Linux und Cygwin.
Wenn ich es manuell ausführen, wie es scheint zu funktionieren auf 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
Lösung
Unter Berücksichtigung Ihren Kommentar zu Frage - der relevante Teil ist „Mit lein-stabil funktioniert es, aber nicht mit dem Master von git.“ -. In begehen repl
vom 16. April 2010 Ich würde sagen, dass Sie Erfolg eingeführt von Leiningen Der neuen Umgang mit der 44b6369aec1e23bcda1db1b6570a03ca524464e5
Aufgabe sind sein
Leiningen 1.1 wurde am 16. Februar veröffentlicht und tut Dinge, die alte Art und Weise, die die repl
Aufgabe Mittel behandelt speziell durch das lein
Skript; post-44b6369aec
Leiningen übernimmt die Aufgabe repl
die gleiche Art und Weise wie alle anderen, das heißt durch die leiningen.repl/repl
Funktion. Letztere einfach akzeptiert keine zusätzlichen Argumente, daher der arity bezogene IllegalArgumentException
dass Sie sehen. Bevor Sie fragen, ich bin nicht sicher, ob das in der Zukunft wahrscheinlich zu ändern ist.
Was sollte funktionieren ist lein repl
von (require 'hello-www.core)
gefolgt; leider aber es scheint, dass ein Problem mit Leiningen HEAD, die verhindert, dass Arbeits zu sein (zumindest auf meinem Kasten). Es ist eine sichere Wette zu erwarten, dass es schließlich bekommen feste geht, aber für den Augenblick, nur lein-stable
verwenden. Das Compojure Tutorial verwendet Clojure 1.1 und nicht die bleeding edge ... Es könnte einige Zeit sparen Leiningen die gleiche Art und Weise zu behandeln.