1

我正在尝试以 uberjar 的形式连接到正在运行的 clojure 应用程序包。我添加[com.cemerick/drawbridge "0.0.7"]到我的 project.clj 中。但是当我试图连接lein repl :connect http://ip:port/repl它时,它甚至没有连接。

我得到一个堆栈跟踪:

java.io.FileNotFoundException: Could not locate cemerick/drawbridge/client__init.class or cemerick/drawbridge/client.clj on classpath.
at clojure.lang.RT.load (RT.java:456)
clojure.lang.RT.load (RT.java:419)
clojure.core$load$fn__5677.invoke (core.clj:5893)
clojure.core$load.invokeStatic (core.clj:5892)
clojure.core$load.doInvoke (core.clj:5876)
....
clojure.lang.AFn.applyToHelper (AFn.java:171)
clojure.lang.Var.applyTo (Var.java:700)
clojure.main.main (main.java:37)

但是当我跑步时,lein classpath我可以在那里找到吊桥/root/.m2/repository/com/cemerick/drawbridge/0.0.7/drawbridge-0.0.7.jar

jar tf /root/.m2/repository/com/cemerick/drawbridge/0.0.7/drawbridge-0.0.7.jar
META-INF/MANIFEST.MF
META-INF/maven/com.cemerick/drawbridge/pom.xml
...
cemerick/drawbridge/client.clj

有什么线索吗?

4

3 回答 3

1

这看起来像是Leiningen的一个简单的旧回归。我已将其提交为https://github.com/technomancy/leiningen/issues/2370

于 2017-12-11T21:59:35.733 回答
0

在较旧的 lein (clojure:lein-2.7.1) 上测试了相同的命令,它看起来更好。服务器端可能有问题,但至少可以连接。

于 2017-11-06T20:02:07.450 回答
0

Leiningen不再包含 Drawbridge,您需要将其显式添加到插件中:

(defproject whatever "0.1.0-SNAPSHOT"
  :plugins [[nrepl/drawbridge "0.2.1"]]))

请参阅2020 年使用 Drawbridge 的 nREPL over HTTP(s)

于 2019-12-12T10:29:21.640 回答