2011-02-17 16 views
5

में CLASSPATH को जार जोड़ा जा रहा है मैं मैक ओएस के तहत जावा के लिए CLASSPATH स्थापित करने के लिए कोशिश कर रहा हूँ।मैक ओएस

विशेष रूप से मैं यह करने के लिए जार अभिलेखागार के एक जोड़े को जोड़ने के लिए कोशिश कर रहा हूँ।

अगर मैं जैसे कि यह कार्य करें:

## Setting up ASM bytecode instructor library 
export CLASSPATH=$CLASSPATH:/Users/fork/Dev/ASM/lib/all/asm-all-3.3.1.jar 

यह ठीक काम करता है। हालांकि, अगर मैं इसे प्रलेखन की तरह सेट की सिफारिश की:

## Setting up ASM bytecode instructor library 
export CLASSPATH=$CLASSPATH:/Users/fork/Dev/ASM/lib/all/* 

यह काम करने के लिए प्रतीत नहीं होता।

बात यह है कि मैं जोड़ना चाहते हैं, के 10 जार मान लीजिए चाहते हैं, यह एक-एक करके जोड़ने के लिए अव्यावहारिक लग रहा है।

क्या कोई समाधान है?

+0

* कौन सा दस्तावेज * दिखाता है? – Mark

+0

यहां http://download.oracle.com/javase/6/docs/technotes/tools/solaris/classpath.html वाइल्डकार्ड अनुभाग की तलाश करें। –

+0

शायद क्लासपाथ वाइल्डकार्ड हैंडलिंग और शैल वाइल्डकार्ड विस्तार एक दूसरे के रास्ते में हो रहा है। तारांकन बचने, 'CLASSPATH = $ CLASSPATH तरह का प्रयास करें:/उपयोगकर्ताओं/कांटा/देव/ASM/lib/सब/'*'' – matt

उत्तर

5

आप व्यक्तिगत रूप से classpath पर जार सेट करना होगा। हालांकि इसके आसपास के तरीके हैं। एक जिसका उपयोग मैं जावा ऐप को एक शेल स्क्रिप्ट के साथ शुरू कर रहा हूं जिसमें कुछ ऐसा है:

cd $JAR_DIR 
jars=($(ls *.jar)) 
JAR_PATH="" 
dir=$(pwd) 
for i in "${jars[@]}"; do 
    JAR_PATH="${JAR_PATH}:$dir/$i" 
done 
CLASSPATH=$CLASSPATH:$JAR_PATH 

यह काम करेगा।

+0

यह एकाधिक जार जोड़ने का एक अच्छा तरीका है! – asgs

+0

यह जावा 6 के लिए सही नहीं है; आप वाइल्डकार्ड जार फ़ाइलों को क्लासपाथ पर ठीक कर सकते हैं। –