मुझे लीनिंगेन के साथ दो मुख्य वर्ग (या अधिक) होना चाहते हैं, और फिर जावा कमांड लाइन में कौन सा चयन करने में सक्षम होना चाहिए। उदाहरण के लिए मेरे पास है:एकाधिक मुख्य कक्षाओं के साथ leiningen
(ns abc (:gen-class))
(defn -main [] (println "abc"))
(ns def (:gen-class))
(defn -main [] (println "def"))
एक project.clj होने के साथ:
(defproject my-jar "0.0.1"
:description "test"
:dependencies [
]
:main abc)
तब मैं lein uberjar
साथ निर्माण, और चलाएँ:
java -cp my-jar-0.0.1-standalone.jar abc
java -cp my-jar-0.0.1-standalone.jar def
मैं समझ गया, जब मैं निर्दिष्ट :main abc
कि प्रोजेक्ट.क्लज में यह इसे मैनिफेस्ट में मुख्य श्रेणी के रूप में बुला रहा था, लेकिन मुझे डालने के बिना इसे चलाने के लिए नहीं मिला। लेकिन किसी भी तरह से जब मैं 'डीईएफ़' मुख्य चलाने का प्रयास, मैं नहीं मिला एक वर्ग मिलती है:
Exception in thread "main" java.lang.NoClassDefFoundError: def
क्यों क्लोजर क्ली https://github.com/clojure/tools.cli का उपयोग नहीं करते हैं और प्रत्येक अलग-अलग विकल्पों को कॉल करने के लिए cmd लाइन तर्क पास करते हैं? – locojay
आखिरकार यह कई अस्थायी (तेजी से देव/परीक्षण) होने के लिए एक अस्थायी स्थिति थी। लेकिन मुझे उपकरण के बारे में पता नहीं था .cli तो लिंक के लिए धन्यवाद। मुझे यकीन है कि मैं इसे भविष्य में उपयोग करूंगा। – Kevin