कुछ समय हो गया है क्योंकि मैंने यह प्रश्न पोस्ट किया है और मैंने सोचा था कि मैं जो कुछ भी ढूंढता हूं उसके लिए मैं जो भी पाता हूं उसे चिपकाऊंगा इस सवाल का जवाब दिया।
अब मैं अपनी परियोजनाओं का प्रबंधन करने के लिए Leiningen का उपयोग करता हूं, हालांकि मैंने cljr के साथ खेलना शुरू कर दिया है जो एक पूर्ण और पैकेज प्रबंधक है जो इसे पूरा करता है। इनमें से कोई भी एक चलने योग्य जार फ़ाइल उत्पन्न करने के लिए बहुत आसान बनाता है।
लीनिंगेन को उदाहरण के रूप में लेना साइट पर निर्देशों का उपयोग करके इसे सेट अप करें और फिर अपने कार्यक्षेत्र में lein new
पर कॉल करें। यह आपके प्रोजेक्ट के साथ-साथ आपके स्रोत के लिए उप-फ़ोल्डर बनाने के लिए एक फ़ोल्डर बनाएगा और एक readme फ़ाइल और एक project.clj फ़ाइल का परीक्षण करेगा।
प्रोजेक्ट.क्लज को उन निर्भरताओं के साथ संपादित करें जिनका आप उपयोग करेंगे। देव-निर्भरता निर्भरताएं हैं जिन्हें आपको नीचे दिए गए उदाहरण में दिखाए गए स्वैंक-क्लोजर जैसे विकास के लिए पूरी तरह से आवश्यकता है।
(defproject myproject "0.0.1-SNAPSHOT"
:description "My Personal Project."
:url "http://example.com/my-project"
:dependencies [[org.clojure/clojure "1.1.0"]
[org.clojure/clojure-contrib "1.1.0"]
[**other dependencies**]]
:dev-dependencies [[swank-clojure "1.2.1"]]
:main [org.myproject.core])
मैं के रूप में आप तो टाइप कर सकते हैं lein swank
एक स्वांक उदाहरण है, जिसमें आप Emacs के माध्यम से कनेक्ट कर सकते हैं शुरू करने के लिए स्वांक-clojure उपयोगी पाते हैं।
: मुख्य परिभाषित करता है कि नामस्थान में मुख्य कार्य क्या है।
कॉलिंग lein uberjar
एक स्टैंडअलोन जार तैयार करेगा जो तब चलाएगा।
उम्मीद है कि मेरी समस्या होने वाले किसी भी व्यक्ति की सहायता करें!
'त्रुटि: मुख्य वर्ग [prueba.core] 'नहीं ढूंढ सका या लोड नहीं किया जा सका। मैंने ': main' और इसके संबंधित मान को शामिल किया है, और मेरे पास 'नाम' फ़ंक्शन है जो उस नामस्थान में सार्वजनिक है। क्या गलत हो सकता है पर कोई विचार? – m0skit0
हाय @ m0skit0, यह कुछ समय हो गया है जब से मैंने यह लिखा था। क्या आपने अपनी निर्देशिकाओं को उचित रूप से संरचित किया है? इसका मतलब है कि आपका 'project.clj' है जिसमें' src' युक्त 'src' युक्त' prueba' 'core.clj' है? क्या आपने 'लीन नया <प्रोजेक्ट NAME>' का उपयोग किया था और फिर बनाई गई 'core.clj' फ़ाइल को संपादित किया था? यदि नहीं, तो क्या आप समझ सकते हैं कि आपने यथासंभव स्पष्ट रूप से क्या किया है? – toofarsideways
परियोजना संरचना सही है क्योंकि यह लीनिंगेन द्वारा बनाई गई है। अंत में 'defproject' के लिए निम्नलिखित वाक्यविन्यास': main root.scriptlauncher: aot [root.scriptlauncher] 'का उपयोग कर इसे काम करने के लिए मिला। – m0skit0