我最近开始研究lisp,并用Eclipse安装逆时针 然后,讨厌内置1.2版本的事实,我手动将1.3库链接到它(老实说不是很难)... 然后我注意到每次运行 new REPL会话时,第一个命令总会出现一堆错误,对会话本身没有影响。同时,以下所有命令都可以正常工作。
这只是一个小小的烦恼,但仍然非常令人不安。我已经通过逆转我所做的更改来测试1.2(内置版本),但这没有帮助。
以下是Eclipse控制台输出的长列表(还有6个,但是eclipse没有写它们,我可能会尝试模拟cmd内部的相同内容,但请告诉我是否有必要第1个)< / p>
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)
即使文件中没有任何内容实际使用。
答案 0 :(得分:0)
在此处的Google代码页上发布问题:http://code.google.com/p/counterclockwise/issues/list 并在此处向Google网上论坛发送电子邮件:http://groups.google.com/group/clojuredev-users?pli=1
答案 1 :(得分:0)
它看起来像名称空间名称问题。
我可以在ccw 0.5.0.STABLE002上轻松生成此错误: 1)我使用向导创建一个新项目:File-&gt; New-&gt; Project ..-&gt; Clojure Project 2)我在src文件夹中创建文件core.clj 3)我更改命名空间名称。
为core.clj文件运行REPL后,我得到了相同的异常。
我用lein创建了名为HYPEN“ - ”
的项目后发现了这个问题当我使用带有hypen的项目名称时,使用下划线“_”创建包名称。在调用lein eclipse(:dev-dependencies [[lein-eclipse“1.0.0”]]之后,项目可以正确导入到eclipse中。 REPL非常有效。但是用lein编译项目是不可能的。为此,名称空间名称中的hypen必须更改为下划线。在使用lein进行更改编译之后,ccw中的REPL开始在问题中生成没有很好描述的异常。
根据这一经验,我的建议不要在项目名称中使用超量或下划线。