lein repl
项目:
user=> (javax.swing.JFrame. "My Frame")
SocketException Connection reset
java.net.SocketInputStream.read (SocketInputStream.java:209)
java.net.SocketInputStream.read (SocketInputStream.java:141)
java.io.BufferedInputStream.fill (BufferedInputStream.java:246)
java.io.BufferedInputStream.read (BufferedInputStream.java:265)
java.io.FilterInputStream.read (FilterInputStream.java:83)
java.io.PushbackInputStream.read (PushbackInputStream.java:139)
clojure.tools.nrepl.bencode/read-byte (bencode.clj:84)
clojure.tools.nrepl.bencode/read-byte (bencode.clj:-1)
clojure.tools.nrepl.bencode/read-token (bencode.clj:236)
clojure.tools.nrepl.bencode/read-token (bencode.clj:234)
clojure.tools.nrepl.bencode/read-bencode (bencode.clj:254)
clojure.tools.nrepl.bencode/read-bencode (bencode.clj:251)
Bye for now!
然而,对于没有项目的新项目/ lein repl
,它确实有效。
user=> (javax.swing.JFrame. "My Frame")
#object[javax.swing.JFrame 0x2ee69c3e "javax.swing.JFrame[frame0,0,0,0x0,invalid,hidden,layout=java.awt.BorderLayout,title=My Frame,resizable,normal,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,0,0x0,invalid,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true]"]
我更新了我的JDK和JRE,但它没有帮助。
我在尝试使用跷跷板时最初注意到它(跷跷板和Clojure是我唯一的项目依赖项)。它崩溃了然后我注意到即使尝试直接使用Swing也会导致崩溃。从依赖项中删除跷跷板使其再次起作用。现在我的项目有其他依赖项(没有一个与AWT / Swing有关,所有这些都是:clojure 1.8.0,clj-http 2.3.0,data.json 0.2.6,camel-snake-kebab 0.4.0 ,并且clj-time 0.13.0)并且它再次发生。我会试着看看能否找到最小的案例 编辑:最小的情况是只有Clojure和[clj-http" 2.3.0"]或只有Clojure和跷跷板。
我还试图确保我从EDT(使用EventQueue.invokeLater
)运行,但它没有帮助,程序崩溃了。
然后我尝试了AWT (java.awt.Frame.)
并且我遇到了同样的崩溃。
最后,fwiw,这发生在:
REPL-y 0.3.7,nREPL 0.2.12
Clojure 1.8.0
Java HotSpot(TM)64位服务器VM 1.8.0_121-b13
Windows 10 Pro x64
我现在也尝试做一个uberjar,它似乎工作正常
所以它似乎只会使lein repl
和CIDER的REPL崩溃(所以我假设是nREPL?)。
我该如何诊断并解决这个问题?
答案 0 :(得分:0)
我无法在最小项目上重现它
(defproject km "0.1.0-SNAPSHOT"
:dependencies [
[org.clojure/clojure "1.8.0"]
[clj-http "2.3.0"]
]
)
Clojure 1.8.0 Java HotSpot(TM)64位服务器VM 1.8.0_112-b16 REPL-y 0.3.7,nREPL 0.2.12 MacOS Sierra
你在'project.clj'中有更多行吗?