2010-06-04 18 views
5

मुझे शामिल कॉन्ट्रिब लाइब्रेरी के साथ क्लोजर आरईपीएल लॉन्च करने का कोई तरीका नहीं दिख रहा है। अगर मैं सही ढंग से समझ में आ प्रलेखन तो इस आदेश को यह करना चाहिए:विंडोज पर क्लोजर-कॉन्ट्रिब कैसे स्थापित करें?

C:\clojure-1.1.0>"%ProgramFiles%\Java\jre6\bin\java.exe" -cp clojure.jar:clojure 
-contrib.jar clojure.main 
Exception in thread "main" java.lang.NoClassDefFoundError: clojure/main 
Caused by: java.lang.ClassNotFoundException: clojure.main 
     at java.net.URLClassLoader$1.run(Unknown Source) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.net.URLClassLoader.findClass(Unknown Source) 
     at java.lang.ClassLoader.loadClass(Unknown Source) 
     at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
     at java.lang.ClassLoader.loadClass(Unknown Source) 
Could not find the main class: clojure.main. Program will exit. 

लेकिन जैसा कि आप देख सकते हैं, यह विफल रहता है। मैंने क्लोजर-contrib.jar को C:\clojure-1.1.0 फ़ोल्डर में कॉपी किया था।

क्या कोई इसे सही करने में मेरी सहायता कर सकता है?

अद्यतन
मीकल की पोस्ट के लिए धन्यवाद मैंने देखा है कि मेरी त्रुटि एक कॉलन जहां मैं एक सेमी-कोलन का इस्तेमाल करना पड़ा उपयोग कर रहा था। यह काम करता है:

C:\clojure-1.1.0>"%ProgramFiles%\Java\jre6\bin\java.exe" -cp clojure.jar;clojure-contrib.jar clojure.main 
Clojure 1.1.0 
user=> 

उत्तर

7

(उत्तर, वास्तविक समाधान स्पष्ट करने के लिए अद्यतन किया जबकि यह कुछ हद तक मूल में छिपा हुआ था ...)

विंडोज पर classpath स्ट्रिंग विभाजक के रूप में ; उपयोग करता है। जैसे

java.exe -cp "C:\clojure-1.1.0\clojure.jar;C:\clojure-1.1.0\clojure-contrib.jar" clojure.main 

वैकल्पिक रूप से, आप एक वाइल्डकार्ड का उपयोग कर सकते हैं classpath में दी निर्देशिका में सभी जार (अर्थात, 1.5 के साथ काम नहीं करेंगे एक JDK 1.6 इसके अलावा है) शामिल करने के लिए:

java.exe -cp "C:\clojure-1.1.0\*" clojure.main 

(मैं लगता है कि डबल कोट्स का उपयोग करके यहां विंडोज़ में ठीक है, हालांकि जांच नहीं कर सकता ...)

+0

धन्यवाद! यह वास्तव में पूर्ण पथ नहीं है, मुझे जार फ़ाइलों के लिए विभाजक के रूप में एक कोलन के बजाय अर्द्ध-कोलन का उपयोग करना पड़ा! आर्ग .. – StackedCrooked

+0

हां! अच्छा है कि आपने इसे देखा - मैंने विभाजकों में अंतर देखा और यहां तक ​​कि दस्तावेज़ों को दो बार चेक किया, फिर कुछ अवांछित कारणों से इसे उत्तर में स्पष्ट रूप से उल्लेख करने के लिए उपेक्षित किया गया। उल्लेख नहीं है कि मैं प्रश्न में 'सी: \ क्लोजर-1.1.0>' संकेत में भी असफल रहा ... सभी ठीक है जो ठीक से समाप्त होता है, मुझे लगता है। :-) मैंने भावी पाठकों के लाभ के लिए अब एक संपादन किया है। –

संबंधित मुद्दे