2011-11-23 25 views
8

शुरू करने के लिए मैं जावा प्रोग्रामर नहीं हूं, इसलिए यह उपयोगी होगा यदि आपके उत्तर जावा के संदर्भ में परिभाषित नहीं हैं (जैसा कि समझ में आता है)।क्लोजर नेमस्पेस कैसा दिख रहे हैं?

मैं एक leiningen परियोजना (विशेष रूप से एक वेब परियोजना noir का उपयोग कर) का उपयोग क्या src/YOUR-NAMESPACE/ में अपने clojure स्रोत फ़ाइलों डालने की एक आम पैटर्न प्रतीत हो रहा है है। अब तक मुझे सफलताएं निर्देशिकाएं और फाइलें जोड़ रही हैं, और मैं ns (जेनरेट कोड में देखे गए पैटर्न के बाद) के आधार के रूप में फ़ाइल पथ का उपयोग कर रहा हूं।

मैंने एक नई फाइल जोड़ी काम नहीं की, और मैं सोच रहा हूं कि क्यों। यह पथ PROJECT-ROOT/src/bayou/lib/api-helpers.clj है और इसका नामस्थान (ns bayou.lib.api-helpers) है। विशिष्ट त्रुटि मैं हो रही है:

java.io.FileNotFoundException: Could not locate bayou/lib/api_helpers__init.class or bayou/lib/api_helpers.clj on classpath

क्या clojure के क्रम में लेने के लिए एक नाम स्थान की पहचान करने के रूप में सभी चरणों में से एक हैं?

+0

के बाद मैं इस सवाल का मैं भी यह सहायक सवाल पाया लिखा है: http://stackoverflow.com/questions/2223190/what-are-common-conventions-for- उपयोग-नाम-इन-क्लोजर – benekastah

उत्तर

12

समस्या नामस्थान में हाइफ़न है।

Clojure की जोय से

हाइफ़न/रेखांकित आप हाइफ़न, ए ला मेरी-शांत-लिब के साथ अपने नामस्थान नाम का फैसला करते हैं, तो इसी स्रोत फ़ाइल अंडरस्कोर द्वारा नामित किया जाना चाहिए हाइफ़न (my_cool_lib.clj) के स्थान पर।

यहाँ अंतर्निहित विवरण है: https://stackoverflow.com/q/4451693/32174

+0

त्वरित प्रतिक्रिया के लिए धन्यवाद! बहुत उपयोगी। – benekastah