2010-01-07 12 views
7

मैंने किया था इस से पहले:मुझे क्लास्स्पैट कैसे सेट करना चाहिए?

CLASSPATH = ":।/घर/phoenies/jdk1.6.0_17/lib/tools.jar: /home/phoenies/jdk1.6.0_17/lib/dt.jar"

लेकिन आज एक लेख कहता है कि मैं ऐसा करने चाहिए:

CLASSPATH = ":।/घर/phoenies/jdk1.6.0_17/lib"

अगर मैं ऐसा करते हैं, यह होगा lib में सभी जार फ़ाइलों को कमाना? तो शायद यह एक छोटा रास्ता है?

उत्तर

12

आप JDK6 उपयोग कर रहे हैं के बाद से, आप classpath वाइल्डकार्ड का उपयोग कर सकते हैं: CLASSPATH = ":।/घर/phoenies/jdk1.6.0_17/lib/*" lib के अंदर सभी जार से मेल खाएगी/

चेक बाहर http://java.sun.com/javase/6/docs/technotes/tools/windows/classpath.html वहाँ "कक्षा पथ वाइल्डकार्ड को समझना" नामक एक अनुभाग

+3

+100। मुझे नहीं पता था कि क्लासपाथ वाइल्डकार्ड थे। –

+0

आपके समय पर उत्तर के लिए धन्यवाद :) – phoenies

+0

बहुत रोचक। +1। हालांकि, मैं 'चाहिए' के ​​उपयोग के खिलाफ बहस करता हूं क्योंकि लोड की गई फ़ाइलों का कोई स्पष्ट क्रम नहीं है, इसलिए यदि आपके पास अपनी निर्देशिका में एक ही कक्षा के विभिन्न संस्करण वाले एकाधिक जार हैं तो अप्रत्याशित व्यवहार हो सकता है। – akf

1

हाँ, यह lib में सभी जार फ़ाइलें खोजने अगर आप इसे दूसरे तरीके से करना होगा। वर्ग पथ को विशेष रूप से पहले के रूप में सेट करने के लिए यह बहुत अजीब बात है। मुझे लगता है कि एक सर्वर पर जहां आप यह सुनिश्चित करना चाहते थे कि जार क्या लोड किए जा रहे थे, यह उन्हें प्रतिबंधित करने का एक तरीका हो सकता है, लेकिन यदि आप कई जार थे तो आप कितने समय तक हो सकते हैं।

+0

ओ सच में? क्लासपाथ में निर्देशिका की परिभाषा हमेशा नग्न। क्लास फाइलों को ढूंढती थी। – bmargulies

+3

गलत। आपको व्यक्तिगत रूप से जारों को सूचीबद्ध करना होगा। – duffymo

0

जार फ़ाइलों को क्लासपाथ चर में नाम से निर्दिष्ट करने की आवश्यकता है। ध्यान देने योग्य बात यह है कि कमांडलाइन -classpath परम पर्यावरण परिवर्तनीय से अधिक बहुमुखी है, क्योंकि यह आपको प्रति क्लासपाथ सेट करने की अनुमति देता है।

0

जावा में 1.6+ आप उस निर्देशिका में सभी जेएआर फ़ाइलों को लोड करने के लिए/* के बाद क्लासपाथ को निर्देशिका में सेट कर सकते हैं। न केवल निर्देशिका का नाम - यह उस निर्देशिका और उपनिर्देशिका में वर्ग फ़ाइलों को लोड करने के लिए है।

1

मुझे लगता है कि क्लासस्पैट पर्यावरण चर होना सभी के लिए गलत है, लेकिन "हैलो, वर्ल्ड" ट्यूटोरियल का सबसे आसान है।

जब आप संकलित और चलाते हैं तो प्रत्येक प्रोजेक्ट के लिए क्लासस्पैट सेट करना सही तरीका है। प्रत्येक परियोजना अलग होने की संभावना है, इसलिए यह सही समझ में आता है।

IDEs CLASSPATH वातावरण सेटिंग की उपेक्षा; तो सभी जावा ईई ऐप सर्वर करें। यह जावा 1.0 का एक अवशेष है। मेरे पास क्लासस्पैट सेट नहीं है जिस पर मैं काम करता हूं।

कमांड लाइन के लिए इसे स्क्रिप्ट करना सीखें। या चींटी का उपयोग करें। आप खुश होंगे कि आपने किया था।

+0

ओह, मैंने सोचा कि यह सिर्फ एक सम्मेलन है। – phoenies

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