Ошибка затмения против часовой стрелки в 1-й команде - PullRequest
0 голосов
/ 07 марта 2012

Я недавно начал изучать lisp и установил против часовой стрелки с Eclipse.
Затем, ненавидя тот факт, что версия 1.2 встроена, я вручную связал с ней библиотеку 1.3 (не очень сложно, если честно) ...
Затем я заметил, что каждый раз, когда я запускаю новый REPL сеанс, первая команда всегда выдает кучу ошибок, не влияя на сам сеанс.В то же время все следующие команды работают нормально.

Это всего лишь небольшое раздражение, но все же довольно нервирует.Я протестировал его с 1.2 (встроенная версия), отменив внесенные мной изменения, но это не помогло.

Вот длинный список выходных данных консоли Eclipse (есть еще 6, но затмение не помогло).не пишите их, я мог бы пойти и попытаться смоделировать то же самое внутри cmd, но, пожалуйста, скажите мне, если это необходимо 1-й)

java.util.concurrent.ExecutionException: java.lang.NullPointerException
    at java.util.concurrent.FutureTask$Sync.innerGet(Unknown Source)
    at java.util.concurrent.FutureTask.get(Unknown Source)
    at clojure.tools.nrepl$handle_response.invoke(nrepl.clj:265)
    at clojure.tools.nrepl$message_dispatch$fn__181.invoke(nrepl.clj:305)
    at clojure.lang.AFn.call(AFn.java:18)
    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
    at clojure.core$refer.doInvoke(core.clj:3775)
    at clojure.lang.RestFn.applyTo(RestFn.java:139)
    at clojure.core$apply.invoke(core.clj:602)
    at clojure.core$load_lib.doInvoke(core.clj:5252)
    at clojure.lang.RestFn.applyTo(RestFn.java:142)
    at clojure.core$apply.invoke(core.clj:602)
    at clojure.core$load_libs.doInvoke(core.clj:5271)
    at clojure.lang.RestFn.applyTo(RestFn.java:137)
    at clojure.core$apply.invoke(core.clj:604)
    at clojure.core$use.doInvoke(core.clj:5363)
    at clojure.lang.RestFn.invoke(RestFn.java:408)
    at clojure.main$repl.doInvoke(main.clj:258)
    at clojure.lang.RestFn.invoke(RestFn.java:1096)
    at clojure.tools.nrepl$handle_request.invoke(nrepl.clj:240)
    at clojure.lang.Var.invoke(Var.java:409)
    at clojure.tools.nrepl$message_dispatch$fn__181$fn__184.invoke(nrepl.clj:302)
    ... 6 more

Edit : есть вероятность, что это можетбыть привязанным к пространствам имен

(ns Something)

, даже если в файле ничего не используется.

Ответы [ 2 ]

0 голосов
/ 08 марта 2012

Это похоже на проблему с именем пространства имен.

Я могу легко сгенерировать эту ошибку на ccw 0.5.0.STABLE002: 1) Я создаю новый проект с помощью мастера: File-> New-> Project ..-> Clojure Project 2) Я создаю файл core.clj в папке src 3) Я меняю имя пространства имен.

После запуска REPL для файла core.clj я получаю то же исключение.

Iобнаружил эту проблему после создания проекта с lein с именем, содержащим HYPEN "-"

Когда я использую имя проекта с hypen, тогда имена пакетов создаются с подчеркиванием "_".После вызова lein eclipse (: dev-dependencies [[lein-eclipse "1.0.0"]]) проект может быть правильно импортирован в eclipse.REPL работает отлично.Но невозможно скомпилировать проект с lein.Для этого hypen в имени пространства имен должны быть изменены на подчеркивание.После того, как компиляция изменений с lein стала возможной, но REPL в ccw начал генерировать не очень хорошо описанное исключение, заключенное вами в вопросе.

Мой совет после этого опыта не используйте переносы или подчеркивания в именах проектов.

0 голосов
/ 07 марта 2012

Опубликуйте сообщение о проблеме на кодовой странице Google здесь: http://code.google.com/p/counterclockwise/issues/list и отправьте электронное письмо в группу Google здесь: http://groups.google.com/group/clojuredev-users?pli=1

...