Clojure 如何为ritz.nrepl.middleware/wrap-javadoc设置本地路径?
在nrepl中间件的api文档中,它说它“接受本地路径和一个单独的路径列表” 我怎么设置这个 我在我的个人资料中尝试了以下内容Clojure 如何为ritz.nrepl.middleware/wrap-javadoc设置本地路径?,clojure,Clojure,在nrepl中间件的api文档中,它说它“接受本地路径和一个单独的路径列表” 我怎么设置这个 我在我的个人资料中尝试了以下内容 {:user {:plugins [] :jvm-opts ["-Xmx4G"] :injections [(require 'clojure.repl)] :warn-on-reflection true :dependencies [[ritz/ritz-nrepl-middleware "0.7.0"]] :repl-opt
{:user {:plugins []
:jvm-opts ["-Xmx4G"]
:injections [(require 'clojure.repl)]
:warn-on-reflection true
:dependencies [[ritz/ritz-nrepl-middleware "0.7.0"]]
:repl-options {:nrepl-middleware
[ritz.nrepl.middleware.javadoc/wrap-javadoc :local-paths "/usr/local/share/javadocs/7/docs/api"]
}}}
但当我执行nrepl jack in
Starting nREPL server...
Mark set
error in process sentinel: nrepl-server-sentinel: Could not start nREPL server: Reflection warning, NO_SOURCE_PATH:1:483 - reference to field getLocalPort can't be resolved.
Exception in thread "main" java.lang.ClassCastException: java.lang.String cannot be cast to clojure.lang.IFn
at clojure.core$comp$fn__4166.doInvoke(core.clj:2347)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at clojure.tools.nrepl.server$default_handler.doInvoke(server.clj:89)
at clojure.lang.RestFn.invoke(RestFn.java:436)
at user$eval1192.invoke(NO_SOURCE_FILE:1)
at clojure.lang.Compiler.eval(Compiler.java:6619)
at clojure.lang.Compiler.eval(Compiler.java:6609)
at clojure.lang.Compiler.eval(Compiler.java:6582)
at clojure.core$eval.invoke(core.clj:2852)
at clojure.main$eval_opt.invoke(main.clj:308)
at clojure.main$initialize.invoke(main.clj:327)
at clojure.main$null_opt.invoke(main.clj:362)
at clojure.main$main$fn__6661.invoke(main.clj:440)
at clojure.main$main.doInvoke(main.clj:437)
at clojure.lang.RestFn.invoke(RestFn.java:421)
at clojure.lang.Var.invoke(Var.java:419)
at clojure.lang.AFn.applyToHelper(AFn.java:163)
at clojure.lang.Var.applyTo(Var.java:532)
at clojure.main.main(main.java:37)
Subprocess failed
如果我将
:local path“…”
包装在一个映射中,我没有得到任何javadoc中间件如果您查看其github页面上的nrepl中间件示例,您会发现:nrepl中间件
的向量应该是中间件函数的向量,当您向其传递字符串路径时,这就是异常的原因“字符串不能转换为IFn”
就本地路径而言,这是nrepl客户端在java doc请求本身中发送的内容。您可以通过调用以下命令在Emacs中设置本地路径:
(setq-nrepl-ritz-javadoc本地路径(list)/usr/local/share/javadocs/7/docs/api)
我不得不使用varnrepl-javadoc本地路径(即没有“ritz”)但似乎有效。我还没有尝试过如果我nrepl-ritz-jack-in
而不是nrepl-jack-in
会发生什么。它在待办事项列表中…ritz通过调试等功能增强nrepl,因此如果遇到异常,就会得到一个断点,并在每次调用时检查本地变量等