在使用nrepl.el时如何更新Clojure依赖项?

Pau*_*ond 17 emacs clojure

据我了解,当我执行nrepl-jack-inREPL时,会加载project.clj中定义的所有依赖项.如果我然后更新project.clj以添加新的依赖项,我是否需要终止服务器并重新运行nrepl-jack-in或者是否有办法更新当前REPL中的依赖项?

Ale*_*ard 6

更新:也许有一些希望,请参阅https://github.com/cemerick/pomegranate

先前:

简短的回答是肯定的 - 您必须重新启动JVM进程.

我知道没有好的方法来更新实时repl中的依赖项.Leiningen(由nrepl-jack-in调用)将管理依赖项并仅在重新启动时设置类路径.尝试做一些充满活力和聪明的事情是非常脆弱的.

下面这个被删除的文本事实上是正确的但是片刻的反思似乎是如此糟糕的建议我已经将其标记为......

如果您有本地依赖项(例如jar文件),则可以在repl中使用长时间不推荐使用的函数add-classpath.但是你将进入龙类肆虐的java类加载器沼泽.