2012-12-19 3 views
12

ग्रहण अनुप्रयोग विकसित करने में, MANIFEST.MF में निर्भरता टैब में दो कॉलम हैं। एक Required Plug-ins है और दूसरा Imported Packages है।हमें ग्रहण प्लगइन निर्भरताओं में 'आवश्यक प्लग-इन' होने पर हमें 'आयातित पैकेज' की आवश्यकता क्यों है?

हमारे पास Imported Packages क्यों है जब हमारे पास Required Plug-ins है?

टिप्पणी यह ​​है कि this plug-in depends without explicitly identifying their originating plug-in, लेकिन मुझे यकीन नहीं है कि कोई भी व्यक्ति अपने मूल प्लग-इन को स्पष्ट रूप से पहचानना नहीं चाहता है, और इसका क्या फायदा है?

enter image description here

जोड़ा

संबंधित प्रश्न - What's the difference between Eclipse Packages and Plug-ins?

+0

प्रत्येक आयातित पैकेज में प्लग-इन नहीं होते हैं। पहले आवश्यक प्लग-इन का प्रयोग करें। आवश्यक होने पर आयातित पैकेज का उपयोग करें। –

उत्तर

8

पैकेज आयात करना एक बंडल की आवश्यकता के लिए एक अतिरिक्त स्तर प्रदान करता है।

कुछ मानक API ... org.standard.framework के मामले पर विचार करें। मान लीजिए कि दो कंपनियां इस एपीआई को लागू करती हैं, शायद आपके पास com.abc.framework और com.xyz.framework bundles हैं। इन दोनों कार्यान्वयन बंडल org.standard.framework पैकेज निर्यात करेंगे।

अब मान लीजिए, आपको एक org.standard.framework कार्यान्वयन की आवश्यकता है, लेकिन आप विशेष रूप से परवाह नहीं करते हैं। यदि आपको com.abc.framework या com.xyz.framework बंडल की आवश्यकता है, तो आप स्वयं को किसी विशेष कार्यान्वयन के लिए जोड़ रहे हैं। एक आयात-पैकेज निर्देश के साथ, आप ओएसजीआई को एक संकेतक परत के रूप में सेवा दे रहे हैं।

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

इन कारणों से, ओएसजीआई स्पेक लेखकों ने आम तौर पर आवश्यकता-बंडल पर अपेक्षाकृत नए आयात-पैकेज निर्देश का उपयोग करने की सलाह दी है। समस्या यह है कि सभी बंडल इसके लिए तैयार नहीं हैं। पैकेज निर्यात करते समय कई अभी तक एक संस्करण निर्दिष्ट नहीं करते हैं। यह कई मामलों में आयात-पैकेज अव्यवहारिक बनाता है।

1

एक पूरी प्लगइन पर निर्भरता को निर्दिष्ट करना, बल्कि, तो केवल एक आवश्यक पैकेज एक चक्रीय निर्भरता बना सकते हैं, यदि आप प्लग इन की बहुत कुछ है । वास्तव में केवल आवश्यक संकुल निर्दिष्ट करने के लिए यह बेहतर अभ्यास है। यदि आप सुनिश्चित हैं कि प्लगइन की छोटी मात्रा के लिए, आप निर्भरता को कुशलतापूर्वक बनाए रखने में सक्षम हैं, तो संपूर्ण प्लगइन निर्दिष्ट करके आप अपने जीवन को सरल बनाने के लिए स्वागत करते हैं। उम्मीद है की यह मदद करेगा।

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