जार लाइब्रेरी से ओएसजीआई बंडल कैसे बनाएं?जार लाइब्रेरी से ओएसजीआई बंडल कैसे बनाएं?
उत्तर
यदि आप ग्रहण का उपयोग कर रहे हैं: इसके लिए एक जादूगर है।
यह आपको कई जार पुस्तकालयों का चयन करने और इन जार समेत एक प्लग-इन प्रोजेक्ट (यानी ओएसजीआई बंडल) बनाने की अनुमति देता है।
आप इसे यहाँ पा सकते हैं:
File -> New -> Other ... -> Plug-in from Existing jar Archives.
+1 क्योंकि स्वयं के ओपी ने इसे वोट नहीं दिया :((यदि यह सही है तो इसे वोट दें!) – helios
वह विज़ार्ड स्क्रीनशॉट पर्याप्त है। धन्यवाद! –
सिद्धांत रूप में आप सिर्फ प्रकट
को OSGi मेटाडाटा को जोड़ने के लिए जो इन प्रविष्टियों जो प्लगइन देव टूलकिट का हिस्सा होना चाहिए जोड़ने के लिए एक बहुत ही व्यावहारिक रास्ता देती है ग्रहण के लिए एक बंडल निर्माता नहीं है की जरूरत है।
यहां एक article प्रक्रिया का विवरण और बीएनडी उपकरण, मैवेन और आगे के साथ इसे कैसे किया जाए।
मुझे व्यक्तिगत रूप से the pax tools पसंद है। यह सभी कमांड लाइन आधारित है, लेकिन बहुत व्यावहारिक है। मौजूदा जार का ओएसजीआई बंडल बनाने के लिए आप bnd tool का उपयोग कर सकते हैं।
पैक्स टूल और पैक्स-रैप-जार लिंक मर चुके हैं – maarten
पहले की जाँच यदि आप रिपोजिटरी
- SpringSource http://www.springsource.com/repository
- Fusesource http://repo.fusesource.com/
आप OSGi नहीं मिलता है सक्षम संस्करणों से अपने पुस्तकालय की एक OSGi सक्षम संस्करण मिल सकता है। आप पैक्स टूल का उपयोग करने के साथ आगे बढ़ सकते हैं - PaxConstruct या aQute's Bnd tool का उपयोग करें।
फ़्यूज़ोर्स http://repo.fusesource.com/ मर चुका है – maarten
@ मार्टन धन्यवाद, मैंने हाल के संसाधनों के लिंक अपडेट किए हैं। –
@ पीटर टिलमैन, आप किस लिंक को अपडेट करते हैं? दुर्भाग्य से, मुझे नहीं पता कि नया रेपो यूआरएल फ़्यूज़ोर्स क्या है .. कृपया मेरे उत्तर में लिंक करने के लिए स्वतंत्र महसूस करें –
Eclipse Bundle Recipe परियोजना एक Maven रिपोजिटरी से भस्म जार करने के लिए OSGi मेटा डेटा जोड़ने के लिए एक Maven आधारित दृष्टिकोण प्रदान करता है।
इसके मूल में, यह bnd tool का उपयोग करता है। यह उपकरण एक स्विस सेना चाकू की तरह है। यह जार और वर्ग फ़ाइलों का विश्लेषण करता है और पैकेज आयात और निर्यात की उचित गणना करता है। आपको स्वामित्व वाले जारों को बदलने के लिए बीएनडी का उपयोग करना चाहिए। यह available in Maven Central है। पार्टी के लिए
देर से आने:
आप Gradle का उपयोग कर रहे हैं, तो आप अपनी परियोजना के एक सामान्य निर्भरता के रूप में जार में जोड़ सकते हैं अगर आप osgi-run प्लगइन लागू होते हैं।
ओजीआई-रन प्लगइन जार पारदर्शी रूप से आपके लिए एक बंडल में लपेटेगा, इसमें प्रत्येक पैकेज का निर्यात करेगा और इसके सभी आयातों की गणना करेगा। चूंकि ग्रैडल जार की ट्रांजिटिव निर्भरताओं को जानता है, यदि आवश्यक हो, तो यह उनके लिए भी वही होगा।
जार (रों) OSGi क्रम OSGi रन बनाता है, जिसे फिर आप gradle runOsgi
या gradle createOsgi
, तो क्रियान्वित करने या तो run.sh
या run.bat
स्क्रिप्ट के साथ शुरू कर सकते हैं का हिस्सा होगा।
वास्तविक रैपिंग ओएसजीआई दुनिया के स्विस चाकू, Bnd द्वारा किया जाता है।
यदि आप कॉन्फ़िगर करना चाहते हैं कि रैपिंग कैसे होती है (आमतौर पर आयात/निर्यात किया जाना चाहिए), तो आप इसे आसानी से ग्रैडल बिल्ड फ़ाइल में कर सकते हैं, विवरण के लिए documentation देखें।
उदाहरण:
wrapInstructions {
// use regex to match file name of dependency
manifest("c3p0.*") {
// import everything except the log4j package - should not be needed
instruction 'Import-Package', '!org.apache.log4j', '*'
instruction 'Bundle-Description', 'c3p0 is an easy-to-use library for making traditional ' +
'JDBC drivers "enterprise-ready" by augmenting them with functionality defined by ' +
'the jdbc3 spec and the optional extensions to jdbc2.'
}
}
- मौजूदा जार संग्रह से एक नई प्लग-इन परियोजना बनाएँ।
- जोड़े जार फ़ाइल अगले
- क्लिक करें निर्यात किए जाने और इस परियोजना का नाम दें।
- नोट:
- सुनिश्चित करें OSGi ढांचे लक्ष्य मंच में चुना गया है।
खोल दो परियोजनासही का निशान हटाने में जार अभिलेखागार -> यह चयन रद्द, परियोजना में
अगर खोल दो जार अभिलेखागार जार के सभी संकुल निर्यात करेगा चयन किया जाता है तो आपको MANIFEST.MF फ़ाइल में आवश्यक संकुल निर्यात करने की आवश्यकता होगी।
समाप्त क्लिक करें। आपको अपने कार्यक्षेत्र में बनाए गए नाम परिवहन-5.1.1 के साथ प्रोजेक्ट मिलेगा। आप यह भी सत्यापित कर सकते हैं कि JAR के सभी संकुल MANIFEST.MF फ़ाइल में निर्यात किए जाते हैं।
[यह प्रश्न] (http://stackoverflow.com/questions/9819090/how-to-convert-jar-to-osgi-bundle-using-eclipse-and-bndtools) संबंधित है। –