2011-12-09 46 views
3

我剛剛下載了Leiningen,但我無法管理它。在下載它自己的Jar壓縮文件後,腳本失敗並出現java錯誤。通過運行bash -x lein我可以看到它掛在這條線:運行Leiningen時java.lang.NoSuchMethodError:clojure.lang.KeywordLookupSite

+ exec java -Xbootclasspath/a:/home/andrea/.m2/repository/org/clojure/clojure/1.2.1/clojure-1.2.1.jar -client -Dleiningen.original.pwd=/home/andrea/bin -cp /home/andrea/.clojure/clojure.jar:::::test/:src/:resources/:/home/andrea/.lein/self-installs/leiningen-1.6.2-standalone.jar clojure.main -e '(use '\''leiningen.core)(-main)' /dev/null 

主要生產:

Exception in thread "main" java.lang.RuntimeException: java.lang.NoSuchMethodError: clojure.lang.KeywordLookupSite.<init>(ILclojure/lang/Keyword;)V 
at clojure.lang.Util.runtimeException(Util.java:165) 
at clojure.lang.Compiler.eval(Compiler.java:6476) 
at clojure.lang.Compiler.eval(Compiler.java:6431) 
at clojure.core$eval.invoke(core.clj:2795) 
at clojure.main$eval_opt.invoke(main.clj:296) 

有趣的是,有什麼失敗,是不是Java調用,但片段'(use '\''leiningen.core)(-main)'。在沒有它的情況下運行該行實際上會觸發一個正在運行的clojure REPL。 leiningen-1.6.2-standalone.jar似乎是在正確的道路上。有任何想法嗎?我對Java和Clojure都很陌生......

+0

一個相關的問題發佈到[CLJ(鏈接)(https://github.com/brentonashworth/sandbar/pull/5),雖然它適用於1.3 – srkavin

+0

相關帖子中SO http://stackoverflow.com/q/7996380/862441 – srkavin

+0

對於任何有這個問題的人,這裏是適合我的解決方案:http://clojure-play-framework.blogspot.com/2012/01/re - 新版本 - 的 - clojurescript-one.html – 2012-01-29 00:22:35

回答

1

翠鐵伊的方向是正確的答案分。但是,如果您沒有獨立的Clojure安裝,而只是使用Leiningen來引導項目,則應該將Leiningen獨立JAR添加到類路徑中。

這樣:

export CLASSPATH="$CLASSPATH:$HOME/.lein/self-installs/leiningen-VERSION-standalone.jar"