2012-05-09 86 views
4

根據https://github.com/technomancy/leiningen/blob/master/sample.project.clj 我可以在a:repl-options中附加一個:init。Lein repl-options:init

然而,當我嘗試:

lein version; echo "====="; cat project.clj; echo "====="; lein repl 

我得到的輸出:

Leiningen 1.7.1 on Java 1.6.0_29 Java HotSpot(TM) 64-Bit Server VM 
===== 
(defproject 
    test "0.0.1" 
    :dependencies [[org.clojure/clojure "1.3.0"]] 
    :source-paths ["src"] 
    :jvm-opts ["-Xms4g" "-Xmx4g"] 
    :repl-options { 
       :init (println "Init") 
       } 
) 

===== 
Exception in thread "main" java.lang.reflect.InvocationTargetException 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at jline.ConsoleRunner.main(ConsoleRunner.java:69) 
Caused by: java.lang.IllegalArgumentException: No value supplied for key: [:init (println "Init")] (NO_SOURCE_FILE:0) 
    at clojure.lang.Compiler.eval(Compiler.java:5440) 
    at clojure.lang.Compiler.eval(Compiler.java:5391) 
    at clojure.core$eval.invoke(core.clj:2382) 
    at clojure.main$eval_opt.invoke(main.clj:235) 
    at clojure.main$initialize.invoke(main.clj:254) 
    at clojure.main$script_opt.invoke(main.clj:270) 
    at clojure.main$main.doInvoke(main.clj:354) 
    at clojure.lang.RestFn.invoke(RestFn.java:457) 
    at clojure.lang.Var.invoke(Var.java:377) 
    at clojure.lang.AFn.applyToHelper(AFn.java:172) 
    at clojure.lang.Var.applyTo(Var.java:482) 
    at clojure.main.main(main.java:37) 
    ... 5 more 
Caused by: java.lang.IllegalArgumentException: No value supplied for key: [:init (println "Init")] 
    at clojure.lang.PersistentHashMap.createWithCheck(PersistentHashMap.java:89) 
    at clojure.core$hash_map.doInvoke(core.clj:327) 
    at clojure.lang.RestFn.applyTo(RestFn.java:137) 
    at clojure.core$apply.invoke(core.clj:540) 
    at leiningen.repl$repl_options.invoke(repl.clj:16) 
    at leiningen.repl$repl_server.doInvoke(repl.clj:69) 
    at clojure.lang.RestFn.applyTo(RestFn.java:146) 
    at clojure.core$apply.invoke(core.clj:546) 
    at leiningen.repl$repl.invoke(repl.clj:145) 
    at clojure.lang.Var.invoke(Var.java:365) 
    at clojure.lang.AFn.applyToHelper(AFn.java:161) 
    at clojure.lang.Var.applyTo(Var.java:482) 
    at clojure.core$apply.invoke(core.clj:542) 
    at leiningen.core$apply_task.invoke(core.clj:262) 
    at leiningen.core$_main.doInvoke(core.clj:329) 
    at clojure.lang.RestFn.invoke(RestFn.java:410) 
    at clojure.lang.AFn.applyToHelper(AFn.java:161) 
    at clojure.lang.RestFn.applyTo(RestFn.java:132) 
    at clojure.core$apply.invoke(core.clj:542) 
    at leiningen.core$_main.invoke(core.clj:332) 
    at user$eval47.invoke(NO_SOURCE_FILE:1) 
    at clojure.lang.Compiler.eval(Compiler.java:5424) 
    ... 16 more 

我在做什麼錯?

特別是,我不明白爲什麼[:init + func +]被視爲鍵,而不是:init被視爲鍵。

謝謝!

+0

@dsouth:我是個白癡。我沒有意識到谷歌的第一個結果與主鏈相關,而不是穩定的。如果您發表評論作爲答案,我會接受它。 – user1383359

+1

大部分時間,每個人都是白癡。需要一個聰明的人來認識並承認它。 :) –

回答

3

不確定,但是您給出的鏈接指向了master,這可能是Leiningen 2,而不是穩定分支,可能是1.7-ish?如果你在你的github鏈接上將分支切換到stable,那麼沒有:init參數...