Windows上的Clojure,Leiningen和CLASSPATH

时间:2012-01-14 16:58:57

标签: clojure classpath leiningen

在Windows上安装Leiningen的正确方法是什么?我抓住了脚本并进行了自我安装。试图运行 lein new tutorial 并收到此错误:

线程中的异常" main" java.lang.RuntimeException:java.io.FileNotFoundExcep :无法在课堂上找到leiningen / core__init.class或leiningen / core.clj 路径:         在clojure.lang.Util.runtimeException(Util.java:165)         在clojure.lang.Compiler.eval(Compiler.java:6476)         在clojure.lang.Compiler.eval(Compiler.java:6431)         在clojure.core $ eval.invoke(core.clj:2795)         在clojure.main $ eval_opt.invoke(main.clj:296)         在clojure.main $ initialize.invoke(main.clj:315)         在clojure.main $ script_opt.invoke(main.clj:339)         在clojure.main $ main.doInvoke(main.clj:426)         在clojure.lang.RestFn.invoke(RestFn.java:482)         在clojure.lang.Var.invoke(Var.java:417)         在clojure.lang.AFn.applyToHelper(AFn.java:178)         在clojure.lang.Var.applyTo(Var.java:518)         在clojure.main.main(main.java:37) 引起:java.io.FileNotFoundException:找不到leiningen / core_ init。 类路径上的class或leiningen / core.clj:         在clojure.lang.RT.load(RT.java:430)         在clojure.lang.RT.load(RT.java:398)         在clojure.core $ load $ fn _4610.invoke(core.clj:5386)         在clojure.core $ load.doInvoke(core.clj:5385)         在clojure.lang.RestFn.invoke(RestFn.java:408)         在clojure.core $ load_one.invoke(core.clj:5200)         在clojure.core $ load_lib.doInvoke(core.clj:5237)         在clojure.lang.RestFn.applyTo(RestFn.java:142)         在clojure.core $ apply.invoke(core.clj:602)         在clojure.core $ load_libs.doInvoke(core.clj:5271)         在clojure.lang.RestFn.applyTo(RestFn.java:137)         在clojure.core $ apply.invoke(core.clj:604)         在clojure.core $ use.doInvoke(core.clj:5363)         在clojure.lang.RestFn.invoke(RestFn.java:408)         在用户$ eval1.invoke(NO_SOURCE_FILE:1)         在clojure.lang.Compiler.eval(Compiler.java:6465)         ......还有11个

得到这个之后我把它添加到我的类路径中: C:\用户\ Owner.lein \自行安装\ leiningen-2.0.0-快照standalone.jar 再次跑,并得到同样的错误。我错过了什么?

更新 从@mtyaka

开始基于1.6.2版本的建议

现在我收到了这个错误:

线程中的异常" main" java.lang.RuntimeException:java.lang.NoSuchMethodErr 或:clojure.lang.KeywordLookupSite。(ILclojure / lang / Keyword;)V         在clojure.lang.Util.runtimeException(Util.java:165)         在clojure.lang.Compiler.eval(Compiler.java:6476)         在clojure.lang.Compiler.eval(Compiler.java:6431)         在clojure.core $ eval.invoke(core.clj:2795)         在clojure.main $ eval_opt.invoke(main.clj:296)         在clojure.main $ initialize.invoke(main.clj:315)         在clojure.main $ script_opt.invoke(main.clj:339)         在clojure.main $ main.doInvoke(main.clj:426)         在clojure.lang.RestFn.invoke(RestFn.java:482)         在clojure.lang.Var.invoke(Var.java:417)         在clojure.lang.AFn.applyToHelper(AFn.java:178)         在clojure.lang.Var.applyTo(Var.java:518)         在clojure.main.main(main.java:37) 引起:java.lang.NoSuchMethodError:clojure.lang.KeywordLookupSite。(IL 的Clojure /郎/关键字;)V         在leiningen.util.paths $ native_arch_path。(paths.clj:32)         在leiningen.util.paths_ init.load(未知来源)         在leiningen.util.paths _init。(未知来源)         at java.lang.Class.forName0(Native Method)         at java.lang.Class.forName(Unknown Source)         在clojure.lang.RT.loadClassForName(RT.java:2030)         在clojure.lang.RT.load(RT.java:417)         在clojure.lang.RT.load(RT.java:398)         在clojure.core $ load $ fn__4610.invoke(core.clj:5386)         在clojure.core $ load.doInvoke(core.clj:5385)         在clojure.lang.RestFn.invoke(RestFn.java:408)         在clojure.core $ load_one.invoke(core.clj:5200)         在clojure.core $ load_lib.doInvoke(core.clj:5237)         在clojure.lang.RestFn.applyTo(RestFn.java:142)         在clojure.core $ apply.invoke(core.clj:602)         在clojure.core $ load_libs.doInvoke(core.clj:5271)         在clojure.lang.RestFn.applyTo(RestFn.java:137)         在clojure.core $ apply.invoke(core.clj:602)         在clojure.core $ require.doInvoke(core.clj:5352)         在clojure.lang.RestFn.invoke(RestFn.java:408)         在leiningen.core $ loading_ 4414 _auto_ .invoke(core.clj:1)         在leiningen.core _init.load(未知来源)         在leiningen.core_ init。(未知来源)         at java.lang.Class.forName0(Native Method)         at java.lang.Class.forName(Unknown Source)         在clojure.lang.RT.loadClassForName(RT.java:2030)         在clojure.lang.RT.load(RT.java:417)         在clojure.lang.RT.load(RT.java:398)         在clojure.core $ load $ fn _4610.invoke(core.clj:5386)         在clojure.core $ load.doInvoke(core.clj:5385)         在clojure.lang.RestFn.invoke(RestFn.java:408)         在clojure.core $ load_one.invoke(core.clj:5200)         在clojure.core $ load_lib.doInvoke(core.clj:5237)         在clojure.lang.RestFn.applyTo(RestFn.java:142)         在clojure.core $ apply.invoke(core.clj:602)         在clojure.core $ load_libs.doInvoke(core.clj:5271)         在clojure.lang.RestFn.applyTo(RestFn.java:137)         在clojure.core $ apply.invoke(core.clj:604)         在clojure.core $ use.doInvoke(core.clj:5363)         在clojure.lang.RestFn.invoke(RestFn.java:408)         在用户$ eval1.invoke(NO_SOURCE_FILE:1)         在clojure.lang.Compiler.eval(Compiler.java:6465)         ......还有11个

2 个答案:

答案 0 :(得分:8)

看起来你正在尝试安装leiningen 2,目前正处于开发阶段并且尚未准备就绪。如果self-install目前不起作用,我不会感到惊讶,特别是在Windows上。

请尝试stable version of lein.bat(目前为1.6.2)。

答案 1 :(得分:1)

我只是想提请注意解决方案,因为现在它在第一个答案的评论中找到了。如果你在线程“main”java.lang.RuntimeException中获取xception:java.lang.NoSuchMethodErr ...你需要从类路径中删除clojure jar文件。

我正在使用Leiningen 1.6.2和clojure-1.3.0,就像brun一样,所以不能肯定其他版本是否有同样的问题。