2011-10-11 160 views
0

要,我使用的是ZHS別名我加入到我的.zshrc從命令行運行Clojure的文件:如何來運行命令行應用程序的Clojure參數

alias 'clojure=java -cp /home/sinan/cclojure/lib/clojure-1.2.1.jar:/home/sinan/cclojure/lib/clojure-contrib-1.2.0.jar clojure.main -i ' 

有了這個,我可以運行我的Clojure這樣的應用程序:

clojure test3.clj 

但是,當我想發送命令行參數時它不起作用。

➜ src clojure test3.clj arg1 arg2 
Exception in thread "main" java.io.FileNotFoundException: arg1 (No such file or directory) 
     at java.io.FileInputStream.open(Native Method) 
     at java.io.FileInputStream.<init>(FileInputStream.java:120) 
     at java.io.FileInputStream.<init>(FileInputStream.java:79) 
     at clojure.lang.Compiler.loadFile(Compiler.java:5817) 
     at clojure.main$load_script.invoke(main.clj:221) 
     at clojure.main$script_opt.invoke(main.clj:273) 
     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) 

我在做什麼錯?我的Clojure應用程序運行方式錯了嗎?

謝謝。

回答

3

您只需指定腳本的名稱,然後在clojure.main之後沒有-i鍵。在你的情況,clojure.main認爲,這是test.clj程序之前的eval(和它做),而arg1是腳本來執行

查看選項的說明爲clojure.main/main功能

相關問題