0

私は最近 Lisp を調べ始め、Eclipse で Counterclockwise をインストールしました。
次に、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

名前空間の名前の問題のようです。

このエラーは ccw 0.5.0.STABLE002 で簡単に生成できます: 1) ウィザードを使用して新しいプロジェクトを作成します: File->New->Project..->Clojure Project 2) src フォルダーにファイル core.clj を作成します 3)名前空間の名前を変更します。

ファイル core.clj に対して REPL を実行した後、同じ例外が発生します。

HYPEN「-」を含む名前のleinでプロジェクトを作成した後、この問題を発見しました

プロジェクト名にハイフンを使用すると、パッケージ名がアンダースコア「_」で作成されます。lein eclipse (:dev-dependencies [[lein-eclipse "1.0.0"]]) を呼び出した後、プロジェクトは正しく eclipse にインポートされます。REPLは完璧に機能します。しかし、lein でプロジェクトをコンパイルすることはできません。この名前空間名のハイフンは、アンダースコアに変更する必要があります。変更後、lein でのコンパイルが可能になりましたが、ccw の REPL は、質問に含まれているよく説明されていない例外を生成し始めました。

この経験に基づく私のアドバイスは、プロジェクト名にハイフンやアンダースコアを使用しないことです。

于 2012-03-07T22:06:34.290 に答える
0

Google コード ページ ( http://code.google.com/p/counterclockwise/issues/list ) に問題を投稿 し、Google グループ ( http://groups.google.com/group/clojuredev- ) にメールを送信してください。 users?pli=1

于 2012-03-06T21:01:10.037 に答える