我尝试连接到正在运行的clojure应用程序包作为uberjar。我在我的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
任何线索?
答案 0 :(得分:1)
这看起来像Leiningen中的普通旧回归。我已将此提交为https://github.com/technomancy/leiningen/issues/2370。
答案 1 :(得分:0)
在较旧的lein(clojure:lein-2.7.1)上测试了相同的命令,它看起来更好。服务器端可能有问题,但至少连接起来。
答案 2 :(得分:0)
Leiningen does not include Drawbridge anymore,您需要将其显式添加到插件中:
(defproject whatever "0.1.0-SNAPSHOT"
:plugins [[nrepl/drawbridge "0.2.1"]]))