与我的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。谢谢。 –