與我的earlier question類似。Eclipse嘗試調試clojure項目時掛起
嘗試調試Clojure項目時,Eclipse掛起。之前我在Windows 8上使用Eclipse Kepler,現在在Windows XP上使用Eclipse Juno也會發生同樣的情況。 Eclipse的錯誤日誌包含下列相關條目(最早在頂部):
07:30 (Info) Started ccw nREPL server: nrepl://127.0.0.1:1581
07:30 (Info) Starting REPL with program args: -i "/C:/Documents and Settings/bjarvis/My Documents/Java/eclipse/configuration/org.eclipse.osgi/bundles/804/1/.cp/ccw/debug/serverrepl.clj" -e "(require 'clojure.tools.nrepl.server)(do (clojure.tools.nrepl.server/start-server :ack-port 1581) nil)"
07:30 (Info) Adding to project's classpath to support nREPL: [C:\Documents and Settings\bjarvis\My Documents\Java\eclipse\plugins\ccw.core_0.20.0.STABLE001\tools.nrepl-0.2.1.jar]
07:31 (Error) Waiting for new REPL process ack timed out
07:31 (Error) Waiting for new REPL process ack timed out
我注意到一個奇怪的是第一個崩潰「Leiningen」,並在項目「的Clojure」項後,右鍵菜單是走了,所以我認爲CCW「墜毀」或走開了還是???退出Eclipse並再次啓動它將恢復這些菜單條目。
我意識到這裏沒有太多的信息,但有沒有人有任何想法?請注意,調試器工作了幾天 - 然後今天早上問題開始了。還要注意,我可以通過使用Ctrl-Alt-S將它「發送」到REPL來成功運行此文件。
FWIW,我試圖調試文件是:
(ns myproject.core
(:require [clojure.java.jdbc :as jdbc]))
(defn foo [str]
(println str "Hello, World!")
)
(defn hello [who]
(str "Hello " who "!"))
(defn db-test []
(let [db-path "c:/derby/testdb1"]
(def db {:classname "org.apache.derby.jdbc.EmbeddedDriver"
:subprotocol "derby"
:subname db-path
:create true})
(println db)
; Create a table named TESTTABLE here and insert some data
(jdbc/db-do-commands db false
"CREATE TABLE TESTTABLE
(ID_TT BIGINT
NOT NULL
GENERATED ALWAYS AS IDENTITY
CONSTRAINT PK_TESTTABLE
PRIMARY KEY,
NAME VARCHAR(10),
ADDRESS VARCHAR(20))"
"INSERT INTO TESTTABLE (NAME, ADDRESS)
VALUES ('Bob', 'Home'),
('Jack', 'Top Of The Hill'),
('Elmo', 'Dumpster')"
)
; Query the database to see what you find
(jdbc/with-connection db
(jdbc/with-query-results rs ["SELECT * FROM TESTTABLE"]
; rs will be a sequence of maps,
; one for each record in the result set.
(dorun (map #(println (:title %)) rs))))
)
)
我知道現在我回答不同的問題,但:1),你應該使用emacs編寫的Clojure代碼。 2)你真的不需要「調試器」,你有你的REPL(和emacs發送代碼到這個repl)。 3)你真的不想寫這個可怕的SQL - http://www.sqlkorma.com/例如 – iced
@冰 - Korma看起來很有趣。在我的工作場所,所有代碼(包括SQL)必須在授權安裝到生產環境之前提交審覈。有沒有一種方法可以提取Korma生成的SQL,以便在安裝之前進行審查?這需要全部SQL,包括DDL和DML。謝謝。 –