【问题标题】:Leiningen nREPL connect to remote repl with drawbridgeLeiningen nREPL 通过吊桥连接到远程 repl
【发布时间】:2018-04-19 01:35:00
【问题描述】:

我正在尝试以 uberjar 的形式连接到正在运行的 clojure 应用程序包。我在我的 project.clj 中添加了 [com.cemerick/drawbridge "0.0.7"]。但是当我尝试与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

有什么线索吗?

【问题讨论】:

    标签: clojure leiningen nrepl


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        Leiningen does not include Drawbridge anymore 并且您需要将其显式添加到插件中:

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

        nREPL over HTTP(s) with Drawbridge in 2020

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-03-15
          • 2015-05-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多