0

我最近开始研究 lisp,并使用 Eclipse 逆时针安装。
然后,讨厌内置 1.2 版本的事实,我手动将 1.3 库链接到其中(老实说不是很难)......
然后我注意到每次运行的REPL 会话时,第一个命令总是一堆的错误出现,对会话本身没有影响。同时,以下所有命令都可以正常工作。

这只是轻微的烦恼,但仍然非常令人不安。我已经用 1.2(内置版本)通过反转我所做的更改对其进行了测试,但这并没有帮助。

这是 Eclipse 控制台输出的长列表(还有 6 个,但 eclipse 没有编写它们,我可能会尝试在 cmd 内部模拟相同的内容,但请告诉我是否需要第一次)

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

编辑:有可能这可能与命名空间有关

(ns Something)

即使文件中没有实际使用。

4

2 回答 2

0

在此处的 google 代码页上发布问题:http ://code.google.com/p/counteritarian/issues/list 并在此处向 google 组发送电子邮件:http ://groups.google.com/group/clojuredev-用户?pli=1

于 2012-03-06T21:01:10.037 回答
0

它看起来像一个命名空间名称问题。

我可以在 ccw 0.5.0.STABLE002 上轻松生成此错误:1)我使用向导创建一个新项目:File->New->Project..->Clojure Project 2)我在 src 文件夹中创建文件 core.clj 3)我更改命名空间名称。

为文件 core.clj 运行 REPL 后,我得到了同样的异常。

我在使用名称包含 HYPEN“-”的 lein 创建项目后发现了这个问题

当我使用带有 hypen 的项目名称时,会使用下划线“_”创建包名称。调用 lein eclipse (:dev-dependencies [[lein-eclipse "1.0.0"]]) 后,项目会正确导入到 eclipse 中。REPL 完美运行。但是用 lein 编译项目是不可能的。对于命名空间名称中的这个连字符,必须将其更改为下划线。在使用 lein 进行更改编译成为可能后,但 ccw 中的 REPL 开始生成问题中包含的描述不明确的异常。

我的建议是不要在项目名称中使用连字符或下划线。

于 2012-03-07T22:06:34.290 回答