2012-08-22 13 views
5

में जोड़ा जा रहा है डिफ़ॉल्ट पैकेज के वर्ग मैं "stdlib.jar" नाम के एक जार फ़ाइल है। इसमें "Default Package" में कई कक्षाएं हैं। मैंने अपने नेटबीन पुस्तकालयों में यह stdlib.jar जोड़ा है। और stdlib.jar से कुछ भी उपयोग किए बिना "Build"-ed भी। तो stdlib.jar को मेरे "./dist/lib" फ़ोल्डर में जोड़ा जा सकता है। लेकिन फिर भी मैं stdlib.jar के भीतर किसी भी कक्षा का उपयोग नहीं कर सकता stdlib.jar के भीतर किसी भी कक्षा का पुन: उपयोग करने के लिए मुझे क्या करना चाहिए?NetBeans

उत्तर

3

का उपयोग करते हुए "डिफ़ॉल्ट पैकेज" पुस्तकालयों के लिए या यहां तक ​​कि एक परियोजना के लिए पैकेज अत्यधिक हतोत्साहित किया जाता है। यदि आप डिफ़ॉल्ट पैकेज का उपयोग करते हैं तो कक्षा का नाम अद्वितीय होना चाहिए या अन्यथा वे सभी java.lang कक्षाओं को ओवरराइड कर देंगे।

अब आपकी स्थिति में आ रहा है। अपने stdlib.jar का उपयोग करने के लिए यदि आपने इसे अपनी लाइब्रेरी में जोड़ा है तो आप इसका उपयोग करने में सक्षम होना चाहिए। आप प्रोजेक्ट के अपने डिफ़ॉल्ट पैकेज से अपने stdlib.jar का उपयोग कर सकते हैं जिसमें आप इसका उपयोग कर रहे हैं। डिफ़ॉल्ट पैकेज के अलावा आप इसका उपयोग नहीं कर सकते क्योंकि यह उस पैकेज में आपकी stdlib.jar कक्षा खोजेगा।

आशा है कि यह आपको स्पष्ट कर देगा। धन्यवाद।

+0

लेकिन यह मेरी समस्या का समाधान नहीं किया। मैंने पुस्तकालयों में "stdlib.jar" जोड़ा है। और इसके भीतर एक कक्षा तक पहुंचने की कोशिश की। यह उस वर्ग को खोजने में असमर्थ है। मैं क्या कर सकता हूं? कृपया कुछ रास्ता सुझाएं। मुझे पता है कि यह सिर्फ जार से वर्ग निकालने और फिर उस जावा फ़ाइल को स्रोत में जोड़कर किया जा सकता है। लेकिन मैं ऐसा नहीं करना चाहता। क्योंकि मैं "stdlib.jar" भी की अन्य वर्गों पड़ सकता है। " –

+1

यदि आप डिफ़ॉल्ट पैकेज में श्रेणियां होती हैं, तो आप उन्हें डिफ़ॉल्ट पैकेज से उपयोग कर सकते हैं केवल। आप कुछ और नहीं कर सकते .. – pratikabu

+0

धन्यवाद आदमी। बस इसे हल किया। और फिर यूआर पोस्ट देखा। –

1

आप Sedgewick की पाठ्यपुस्तक का उपयोग कर रहे हैं, आप नहीं कर रहे हैं?

प्र अगर मैं एक नामित पैकेज का उपयोग मेरी कोड की संरचना करने, संकलक नहीं रह गया है पुस्तकालयों stdlib.jar में पहुंच सकता है: यदि आप हैं, FAQ पढ़ें। क्यों नहीं?

ए stdlib.jar में पुस्तकालयों "डिफ़ॉल्ट" पैकेज में कर रहे हैं। जावा में, आप नामित पैकेज से डिफ़ॉल्ट पैकेज में कक्षाओं तक नहीं पहुंच सकते हैं। यदि आप एक नामित पैकेज के साथ हमारे पुस्तकालयों का उपयोग करने की जरूरत है, तो आप पैक संस्करण का उपयोग कर सकते हैं stdlib-package.jar

ही यहाँ प्रश्न: Getting a library to import properly in netbeans

0

आप Sedgewick पाठ्यपुस्तक या एल्गोरिदम पाठ्यक्रम Coursera पर प्रयोग कर रहे हैं, इस मदद की हो सकती है ।

के रूप में यह ऊपर उल्लेख किया गया था, stdlib.jar में पुस्तकालयों डिफ़ॉल्ट पैकेज में हैं। जावा में, आप नामित पैकेज से डिफ़ॉल्ट पैकेज में कक्षाओं तक नहीं पहुंच सकते हैं। तो आपको अपनी स्रोत फ़ाइलों को अपनी परियोजना के एक निश्चित पैकेज में स्थानांतरित करना होगा। इसका मतलब है कि आपको अपने स्रोत .java फ़ाइल को ./src/YOURPACKAGE/ फ़ोल्डर से सीधे अपने प्रोजेक्ट के ./src फ़ोल्डर में ले जाना है, फिर अपना पैकेज फ़ोल्डर हटाएं। इसके अलावा आपको "पैकेज YOURPACKAGE" को हटाना होगा; आपकी स्रोत फ़ाइल की शुरुआत में बयान।

असल में आपको बस इतना करना है। अब जब आप अपनी स्रोत फ़ाइल को डिफ़ॉल्ट पैकेज में ले जाते हैं, और पुस्तकालयों में "stdlib.jar" जोड़ते हैं, तो आपको लाइब्रेरी से कक्षाओं को संबोधित करने में कोई समस्या नहीं होगी। आपको उनके लिए "आयात" स्टेटमेंट की आवश्यकता नहीं है।