/ / कस्टम क्लासपाथ कंटेनर के माध्यम से जोड़े गए जार में रखे गए वर्ग कोड पूर्ण होने के लिए उपलब्ध क्यों नहीं हैं? - जावा, ग्रहण, ग्रहण-प्लगइन, ग्रहण-जेडीटी

कस्टम क्लासपाथ कंटेनर के माध्यम से जोड़े गए जार में रखे गए वर्ग कोड पूर्ण होने के लिए उपलब्ध क्यों नहीं हैं? - जावा, ग्रहण, ग्रहण-प्लगइन, ग्रहण-जेडीटी

कोड पूर्ण होने में दिखाई देने वाले कस्टम क्लासपाथ कंटेनर के माध्यम से प्रदान की जाने वाली कक्षाएं प्राप्त करने के लिए क्या आवश्यक है?

मैंने सफलतापूर्वक एक कस्टम लागू किया हैक्लासपाथ कंटेनर, जो एक परियोजना में पुस्तकालय जोड़ता है। यह सभी जार को एक विशिष्ट फ़ोल्डर में बिल्ड पथ में जोड़ता है जब तक कि वर्कस्पेस में एक ही नाम वाला प्रोजेक्ट न हो, उस स्थिति में परियोजना का संदर्भ दिया जाता है।

अब जब मैं संदर्भित करता हूं, तो यह स्पष्ट रूप से काम करता प्रतीत होता हैउन जारों में से एक वर्ग, कोड संकलित करता है, लेकिन मुझे कोड पूर्ण करने के सुझावों में कक्षा नहीं दिखाई देती है। जब मेरे पास मेरे वर्कस्पेस में सही प्रोजेक्ट है, तो मुझे कोड पूर्ण होने में ऐसी कक्षा दिखाई देती है।

मैंने इस तक पहुंचने के लिए निम्नलिखित कदम उठाए हैं, जबकि मैं आंशिक रूप से विचार कर रहा था आईबीएम से ट्यूटोरियल:

  • ClasspathContainerInitializer लागू करें
  • अतिरिक्त कॉन्फ़िगरेशन के लिए ClasspathContainerPreferencePage लागू करें
  • IClasspathContainer लागू करें

जब मैंने किसी प्रोजेक्ट में कंटेनर जोड़ा है तो मुझे संकुल एक्सप्लोरर में जार दिखाई देता है जैसा कि मैंने उम्मीद की थी। (जार वहां केवल तभी होता है जब कोई संबंधित प्रोजेक्ट उपलब्ध न हो, लॉगिंग अपेक्षित परिणाम दिखाती है)

मैं जार से कक्षाओं के माध्यम से एकीकृत कर सकते हैंकंपाइलर त्रुटियों के बिना क्लासपाथ कंटेनर, वे कोड पूर्ण होने और सही आयात जोड़ने के लिए त्वरित सुधारों के लिए उपलब्ध नहीं हैं। तो मुझे लगता है कि मैं शायद कुछ विस्तार बिंदु में योगदान देना याद करूँगा।

उत्तर:

उत्तर № 1 के लिए 1

जवाब मूल रूप से है: आपको तीन भागों को लागू करने से ज्यादा कुछ करने की आवश्यकता नहीं है। लेकिन आपको इसे सही तरीके से करना है।

The ClasspathContainerPreferencePage कंटेनर को प्रोजेक्ट में जोड़ने के लिए तैयार करने के लिए ।

The ClasspathContainer एंटिटी के रूप में प्रोजेक्ट में जोड़ा जा रहा है । यह एक के लिए यह वास्तव में सभी आवश्यक तरीकों को लागू करने के लिए महत्वपूर्ण है सही ।मेरे लिए समस्या यह थी कि मैं विधि में एक गलत निरंतर मूल्य लौटे getKind (). लौटने के बजाय IClasspathEntry. सीपीई _container मैं बस का उपयोग करने की जरूरत IClasspathContainer K_APPLICATION और कोड पूरा बॉक्स से बाहर काम किया:

public int getKind() {
return IClasspathContainer.K_APPLICATION;
}

और अंत में एक ClasspathContainerInitializer कंटेनर को तैयार करने और अद्यतन करने के लिए ।


जवाब के लिए 0 № 2

मैं लूना ग्रहण का उपयोग करें और ग्रहण कस्टम बाहरी जार से भी स्वत: पूर्ण कोड करता है ।आप लूना के उंनयन पर विचार अगर तुम हेवन "टी पहले से ही और देखो यह तुंहारी समस्या हल करना चाहिए