Clojure 具有Datomic依赖关系的试剂模板会导致leiningen REPL中出现错误行为

Clojure 具有Datomic依赖关系的试剂模板会导致leiningen REPL中出现错误行为,clojure,leiningen,datomic,reagent,cursive,Clojure,Leiningen,Datomic,Reagent,Cursive,我用新试剂样本项目启动了一个新试剂项目(您可以使用最新的来重现问题)。过了一会儿,我为datomic添加了客户机依赖项(我不得不排除jetty http,因为它与ring server冲突) 然后我意识到在lein repl中,您不能再使用(启动服务器)运行服务器了。在localhost:3000上,您只需获得一个ERR\u SOCKET\u NOT\u CONNECTED。控制台中没有消息 更奇怪的是,如果我从草书开始使用nREPL,一切都很好 有人知道这里发生了什么吗。我对此感到困惑,因为在

我用新试剂样本项目启动了一个新试剂项目(您可以使用最新的来重现问题)。过了一会儿,我为datomic添加了客户机依赖项(我不得不排除
jetty http
,因为它与
ring server
冲突)

然后我意识到在
lein repl
中,您不能再使用
(启动服务器)
运行服务器了。在
localhost:3000
上,您只需获得一个
ERR\u SOCKET\u NOT\u CONNECTED
。控制台中没有消息

更奇怪的是,如果我从草书开始使用nREPL,一切都很好

有人知道这里发生了什么吗。我对此感到困惑,因为在草书中找不到菲格威尔的
app.js
。我的
project.clj
是这样的:

提前感谢

弗里克

也许这是进一步的依赖冲突?我可以用你提到的步骤重现这个问题

您可以尝试其他排除(如中所示):


我认为这是奇怪的,它的工作。当您排除jetty客户端依赖项时,它甚至不再加载。但在不排除它的情况下,org.eclipse.jetty.util.thread.ExecutionStrategy$Producer会出现类加载错误。无论如何非常感谢,尽管我现在正在使用对等库,稍后将进行交换。有人能解释一下,像Datomic客户端库这样的库如何能够在没有警告的情况下无形地覆盖socket/nREPL的工作方式吗?幸运地发现了这一点:尝试连接到nREPL时是否在引导clj中启动了套接字拒绝连接pod,但在执行
boot repl
和手动启动时工作。
[com.datomic/clj-client "0.8.606"
  :exclusions [org.eclipse.jetty/jetty-http]
]
[com.datomic/clj-client "0.8.606" :exclusions
   [org.eclipse.jetty/jetty-http org.eclipse.jetty/jetty-util
    org.eclipse.jetty/jetty-client]]