के साथ कमांड लाइन तर्क मैंने हाल ही में क्लोजर के साथ शुरुआत की है, और मैं एक छोटी परियोजना बनाने के लिए लीनिंगन का उपयोग कर रहा हूं। मुझे कमांड लाइन तर्कों के साथ व्यवहार करने के लिए leiningen प्राप्त करने में परेशानी हो रही है। निम्नलिखित है मेरी src/project/core.clj
लीनिंगेन
(ns project.core
(:gen-class))
(defn -main [& args]
(println (apply str args)))
और मेरे project.clj
(defproject project "1.0.0-SNAPSHOT"
:description "FIXME: write"
:main project.core
:dependencies [[org.clojure/clojure "1.2.0"]
[org.clojure/clojure-contrib "1.2.0"]])
अब जब मैं lein run arg1 arg2
चलाने के लिए, यह मुझे इस त्रुटि देता है:
Exception in thread "main" java.lang.Exception: Unable to resolve symbol: arg1 in this context (NO_SOURCE_FILE:1)
at clojure.lang.Compiler.analyze(Compiler.java:5205)
at clojure.lang.Compiler.analyze(Compiler.java:5151)
at clojure.lang.Compiler$InvokeExpr.parse(Compiler.java:3057)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:5371)
at clojure.lang.Compiler.analyze(Compiler.java:5190)
at clojure.lang.Compiler.analyze(Compiler.java:5151)
at clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:4670)
at clojure.lang.Compiler$FnMethod.parse(Compiler.java:4328)
at clojure.lang.Compiler$FnExpr.parse(Compiler.java:3173)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:5367)
at clojure.lang.Compiler.analyze(Compiler.java:5190)
at clojure.lang.Compiler.eval(Compiler.java:5421)
at clojure.lang.Compiler.eval(Compiler.java:5415)
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$null_opt.invoke(main.clj:279)
at clojure.main$main.doInvoke(main.clj:354)
at clojure.lang.RestFn.invoke(RestFn.java:422)
at clojure.lang.Var.invoke(Var.java:369)
at clojure.lang.AFn.applyToHelper(AFn.java:165)
at clojure.lang.Var.applyTo(Var.java:482)
at clojure.main.main(main.java:37)
Caused by: java.lang.Exception: Unable to resolve symbol: arg1 in this context
at clojure.lang.Compiler.resolveIn(Compiler.java:5677)
at clojure.lang.Compiler.resolve(Compiler.java:5621)
at clojure.lang.Compiler.analyzeSymbol(Compiler.java:5584)
at clojure.lang.Compiler.analyze(Compiler.java:5172)
... 23 more
हालांकि, अगर मैं एक lein uberjar
और उसके बाद करना java -jar project-1.0.0-SNAPSHOT-standalone.jar arg1 arg2
करें, मुझे सही आउटपुट मिलता है।
arg1arg2
विकास के दौरान हर बार इसे चलाने के लिए uberjar बनाने के लिए बहुत सहज नहीं है, क्या कोई बेहतर तरीका है?
लीन रन प्रोजेक्ट .core arg1 arg2 – PheliX
@ फेलीएक्स, हाँ, जिसने कुछ लीड दी, यह 'क्लास प्रोजेक्ट .कोरर्ग 1arg2' देता है, लेकिन uberjar' arg1arg2 देता है '... कुछ प्रगति की तरह दिखता है, लेकिन अभी तक काफी उपयोगी नहीं है। वह, या मुझे –