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
War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top