Lein-ritz не работает в Windows с ошибкой = 206, имя файла или расширение слишком длинны

Я пытаюсь использовать lein-ritz из Windows и получить эту ошибку. Есть ли способ заставить lein-ritz не передавать путь класса в командной строке?

lein ritz
java.io.IOException: Cannot run program "java" (in directory ""):
 CreateProcess error=206, The filename or extension is too long
 at java.lang.ProcessBuilder.start(ProcessBuilder.java:460)
 at java.lang.Runtime.exec(Runtime.java:593)
 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 clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:93)
 at clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:28)
 at leiningen.core.eval$sh.doInvoke(eval.clj:158)
 at clojure.lang.RestFn.applyTo(RestFn.java:137)
 at clojure.core$apply.invoke(core.clj:617)
 at leiningen.core.eval$fn__1963.invoke(eval.clj:211)
 at clojure.lang.MultiFn.invoke(MultiFn.java:231)
 at leiningen.core.eval$eval_in_project.invoke(eval.clj:283)
 at leiningen.core.eval$eval_in_project.invoke(eval.clj:290)
 at clojure.lang.Var.invoke(Var.java:419)
 at clojure.lang.AFn.applyToHelper(AFn.java:163)
 at clojure.lang.Var.applyTo(Var.java:532)
 at clojure.core$apply.invoke(core.clj:617)
 at leiningen.ritz$eval_in_project.doInvoke(ritz.clj:72)
 at clojure.lang.RestFn.invoke(RestFn.java:421)
 at leiningen.ritz$ritz.doInvoke(ritz.clj:116)
 at clojure.lang.RestFn.invoke(RestFn.java:410)
 at clojure.lang.Var.invoke(Var.java:415)
 at clojure.lang.AFn.applyToHelper(AFn.java:161)
 at clojure.lang.Var.applyTo(Var.java:532)
 at clojure.core$apply.invoke(core.clj:619)
 at leiningen.core.main$resolve_task$fn__1836.doInvoke(main.clj:149)
 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.lang.AFunction$1.doInvoke(AFunction.java:29)
 at clojure.lang.RestFn.applyTo(RestFn.java:137)
 at clojure.core$apply.invoke(core.clj:619)
 at leiningen.core.main$apply_task.invoke(main.clj:189)
 at leiningen.core.main$resolve_and_apply.invoke(main.clj:193)
 at leiningen.core.main$_main$fn__1899.invoke(main.clj:257)
 at leiningen.core.main$_main.doInvoke(main.clj:247)
 at clojure.lang.RestFn.invoke(RestFn.java:408)
 at clojure.lang.Var.invoke(Var.java:415)
 at clojure.lang.AFn.applyToHelper(AFn.java:161)
 at clojure.lang.Var.applyTo(Var.java:532)
 at clojure.core$apply.invoke(core.clj:617)
 at clojure.main$main_opt.invoke(main.clj:335)
 at clojure.main$main.doInvoke(main.clj:440)
 at clojure.lang.RestFn.invoke(RestFn.java:436)
 at clojure.lang.Var.invoke(Var.java:423)
 at clojure.lang.AFn.applyToHelper(AFn.java:167)
 at clojure.lang.Var.applyTo(Var.java:532)
 at clojure.main.main(main.java:37)
Caused by: java.io.IOException: CreateProcess error=206, The filename or extension is too long
 at java.lang.ProcessImpl.create(Native Method)
 at java.lang.ProcessImpl.<init>(ProcessImpl.java:81)
 at java.lang.ProcessImpl.start(ProcessImpl.java:30)
 at java.lang.ProcessBuilder.start(ProcessBuilder.java:453)
 ... 49 more
</init>
1 ответ

Я думаю, что классный загрузчик eval-in может помочь вам преодолеть это ограничение Windows. Попробуйте добавить :eval-in :classloader в project.clj как https://github.com/pallet/ritz/tree/develop/nrepl

licensed under cc by-sa 3.0 with attribution.