2012-02-03 9 views
3

私が取り組んでいるプロジェクトは、leiningen対話型の使用時に突然例外を投げ始めました。 "lein test"を実行しても問題ありません。テストは実行され、パスします。例外は、唯一のインタラクティブ使用して発生します。対話型インタラクティブを実行中の例外

Exception in thread "main" java.lang.reflect.InvocationTargetException 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at jline.ConsoleRunner.main(ConsoleRunner.java:69) 
Caused by: java.lang.IllegalStateException: Can't dynamically bind non-dynamic var: leiningen.compile/eval-in-project 
    at clojure.lang.Var.pushThreadBindings(Var.java:339) 
    at clojure.core$push_thread_bindings.invoke(core.clj:1716) 
    at leiningen.interactive$interactive.invoke(interactive.clj:75) 
    at clojure.lang.Var.invoke(Var.java:401) 
    at clojure.lang.AFn.applyToHelper(AFn.java:161) 
    at clojure.lang.Var.applyTo(Var.java:518) 
    at clojure.core$apply.invoke(core.clj:602) 
    at leiningen.core$apply_task.invoke(core.clj:262) 
    at leiningen.core$_main.doInvoke(core.clj:329) 
    at clojure.lang.RestFn.invoke(RestFn.java:410) 
    at clojure.lang.AFn.applyToHelper(AFn.java:161) 
    at clojure.lang.RestFn.applyTo(RestFn.java:132) 
    at clojure.core$apply.invoke(core.clj:602) 
    at leiningen.core$_main.invoke(core.clj:332) 
    at user$eval361.invoke(NO_SOURCE_FILE:1) 
    at clojure.lang.Compiler.eval(Compiler.java:6465) 
    at clojure.lang.Compiler.eval(Compiler.java:6431) 
    at clojure.core$eval.invoke(core.clj:2795) 
    at clojure.main$eval_opt.invoke(main.clj:296) 
    at clojure.main$initialize.invoke(main.clj:315) 
    at clojure.main$script_opt.invoke(main.clj:339) 
    at clojure.main$main.doInvoke(main.clj:426) 
    at clojure.lang.RestFn.invoke(RestFn.java:457) 
    at clojure.lang.Var.invoke(Var.java:413) 
    at clojure.lang.AFn.applyToHelper(AFn.java:172) 
    at clojure.lang.Var.applyTo(Var.java:518) 
    at clojure.main.main(main.java:37) 
    ... 5 more 

REPLに接続しようとするときに別の例外がスローされます。

Exception in thread "main" java.lang.reflect.InvocationTargetException 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at jline.ConsoleRunner.main(ConsoleRunner.java:69) 
Caused by: java.lang.RuntimeException: java.net.ConnectException: Connection refused 
    at clojure.lang.Util.runtimeException(Util.java:165) 
    at clojure.lang.Reflector.invokeConstructor(Reflector.java:193) 
    at leiningen.repl$poll_repl_connection$fn__1425.invoke(repl.clj:113) 
    at leiningen.repl$poll_repl_connection.invoke(repl.clj:113) 
    at leiningen.repl$repl.invoke(repl.clj:153) 
    at clojure.lang.Var.invoke(Var.java:401) 
    at clojure.lang.AFn.applyToHelper(AFn.java:161) 
    at clojure.lang.Var.applyTo(Var.java:518) 
    at clojure.core$apply.invoke(core.clj:602) 
    at leiningen.core$apply_task.invoke(core.clj:262) 
    at leiningen.core$_main.doInvoke(core.clj:329) 
    at clojure.lang.RestFn.invoke(RestFn.java:410) 
    at clojure.lang.AFn.applyToHelper(AFn.java:161) 
    at clojure.lang.RestFn.applyTo(RestFn.java:132) 
    at clojure.core$apply.invoke(core.clj:602) 
    at leiningen.core$_main.invoke(core.clj:332) 
    at user$eval361.invoke(NO_SOURCE_FILE:1) 
    at clojure.lang.Compiler.eval(Compiler.java:6465) 
    at clojure.lang.Compiler.eval(Compiler.java:6431) 
    at clojure.core$eval.invoke(core.clj:2795) 
    at clojure.main$eval_opt.invoke(main.clj:296) 
    at clojure.main$initialize.invoke(main.clj:315) 
    at clojure.main$script_opt.invoke(main.clj:339) 
    at clojure.main$main.doInvoke(main.clj:426) 
    at clojure.lang.RestFn.invoke(RestFn.java:457) 
    at clojure.lang.Var.invoke(Var.java:413) 
    at clojure.lang.AFn.applyToHelper(AFn.java:172) 
    at clojure.lang.Var.applyTo(Var.java:518) 
    at clojure.main.main(main.java:37) 
    ... 5 more 
+1

ただの提案ですが、少なくともproject.cljを投稿したいかもしれません。別の提案は、これを別のleinの新しいtest-projディレクトリに組み込むことです。私の推測は、.leinディレクトリ内の何かが汚れてしまっていますが、新しいユーザーであるので、それはちょうど推測です。 – octopusgrabbus

答えて

3

本当の誤差があるように見えます:

​​

このバージョン1.3の変更の1つによって、varsははるかに高速化されますが、動的にリバウンドされるものには^dynamicとマークする必要があります。使用しているleinのバージョンは、使用しているclojureのバージョンと互換性がありません。月曜日にこの問題が発生したとき、実行後に消えました:

lein upgrade 
+0

何らかの理由で、何らかの理由で最新の1.7.0.snapshot(leinスクリプトにバージョンが設定されているにもかかわらず)ではなく、Lein 1.6.jarが使用されていました。古い瓶を取り除くことで問題が解決しました。 –

+0

Leiningen 1.6では、誤ったプラグインがLeiningenに間違ったバージョンのClojureを内部的に使用させる可能性があるという問題がありました。これは1.7で修正する必要があります。 – technomancy

関連する問題