【发布时间】:2012-10-24 14:13:55
【问题描述】:
我正在尝试设置 ritz/lein/emacs 等来创建 clojure 开发环境。
我安装了lein plugin install lein-ritz "0.5.0" 并将其添加到我的项目文件中。尝试lein ritz 时出现此异常:
arash@azure:~/programming/onebreaker$ lein ritz 线程“主”java.lang.reflect.InvocationTargetException 中的异常 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:601) 在 jline.ConsoleRunner.main(ConsoleRunner.java:69) 原因:java.io.FileNotFoundException: 无法在类路径中找到 leiningen/core/eval_init.class 或 leiningen/core/eval.clj: (ritz.clj:1) 在 clojure.lang.Compiler.eval(Compiler.java:5440) 在 clojure.lang.Compiler.eval(Compiler.java:5415) 在 clojure.lang.Compiler.load(Compiler.java:5857) 在 clojure.lang.RT.loadResourceScript(RT.java:340) 在 clojure.lang.RT.loadResourceScript(RT.java:331) 在 clojure.lang.RT.load(RT.java:409) 在 clojure.lang.RT.load(RT.java:381) 在 clojure.core$load$fn_4519.invoke(core.clj:4915) 在 clojure.core$load.doInvoke(core.clj:4914) 在 clojure.lang.RestFn.invoke(RestFn.java:408) 在 clojure.core$load_one.invoke(core.clj:4729) 在 clojure.core$load_lib.doInvoke(core.clj:4766) 在 clojure.lang.RestFn.applyTo(RestFn.java:142) 在 clojure.core$apply.invoke(core.clj:542) 在 clojure.core$load_libs.doInvoke(core.clj:4800) 在 clojure.lang.RestFn.applyTo(RestFn.java:137) 在 clojure.core$apply.invoke(core.clj:542) 在 clojure.core$require.doInvoke(core.clj:4881) 在 clojure.lang.RestFn.invoke(RestFn.java:408) 在 leiningen.core$resolve_task.invoke(core.clj:208) 在 leiningen.core$apply_task.invoke(core.clj:258) 在 leiningen.core$_main.doInvoke(core.clj:329) 在 clojure.lang.RestFn.invoke(RestFn.java:410) 在 clojure.lang.AFn.applyToHelper(AFn.java:161) 在 clojure.lang.RestFn.applyTo(RestFn.java:132) 在 clojure.core$apply.invoke(core.clj:542) 在 leiningen.core$_main.invoke(core.clj:332) 在用户 $eval42.invoke(NO_SOURCE_FILE:1) 在 clojure.lang.Compiler.eval(Compiler.java:5424) 在 clojure.lang.Compiler.eval(Compiler.java:5391) 在 clojure.core$eval.invoke(core.clj:2382) 在 clojure.main$eval_opt.invoke(main.clj:235) 在 clojure.main$initialize.invoke(main.clj:254) 在 clojure.main$script_opt.invoke(main.clj:270) 在 clojure.main$main.doInvoke(main.clj:354) 在 clojure.lang.RestFn.invoke(RestFn.java:457) 在 clojure.lang.Var.invoke(Var.java:377) 在 clojure.lang.AFn.applyToHelper(AFn.java:172) 在 clojure.lang.Var.applyTo(Var.java:482) 在 clojure.main.main(main.java:37) ... 5 更多 原因:java.io.FileNotFoundException:无法在类路径上找到 leiningen/core/eval_init.class 或 leiningen/core/eval.clj: 在 clojure.lang.RT.load(RT.java:412) 在 clojure.lang.RT.load(RT.java:381) 在 clojure.core$load$fn_4519.invoke(core.clj:4915) 在 clojure.core$load.doInvoke(core.clj:4914) 在 clojure.lang.RestFn.invoke(RestFn.java:408) 在 clojure.core$load_one.invoke(core.clj:4729) 在 clojure.core$load_lib.doInvoke(core.clj:4766) 在 clojure.lang.RestFn.applyTo(RestFn.java:142) 在 clojure.core$apply.invoke(core.clj:542) 在 clojure.core$load_libs.doInvoke(core.clj:4800) 在 clojure.lang.RestFn.applyTo(RestFn.java:137) 在 clojure.core$apply.invoke(core.clj:542) 在 clojure.core$require.doInvoke(core.clj:4881) 在 clojure.lang.RestFn.invoke(RestFn.java:436) 在 leiningen.ritz$eval68$loading_4414_auto____69.invoke(ritz.clj:1) 在 leiningen.ritz$eval68.invoke(ritz.clj:1) 在 clojure.lang.Compiler.eval(Compiler.java:5424) ... 44 更多
你能帮我解决这个问题吗?
【问题讨论】:
-
除非你对 swank 情有独钟,否则没有必要使用 ritz。 Leiningen 2 已经带有
lein repl命令,它将为您启动一个 nREPL 服务器。 -
嗯,我想要一个合理的开发环境。 repl 很好,但 swank 更好。您是否有其他工具可以从编辑器运行代码并跳转到函数定义?我全神贯注
-
@Cubic 嗯? ritz 提供了比普通 nrepl 更好的调试工具(最近的版本包括 nrepl 兼容性)。
标签: clojure swank-clojure