यह आपको मदद करने के लिए शायद एक छोटे से देर हो चुकी है, लेकिन मैं किसी को भी मामले में एक OSGi पर्यावरण अंदर JavaFX सक्षम करने के लिए एक सरल तरीके से दस्तावेज़ के लिए चाहते हैं, मेरी तरह, अभी भी परेशानी यह कर दिया था ....
बात यह है कि, आपको जावाएफएक्स को किसी भी वर्ग को लोड करने और उपयोग करने की संभावना रखने की आवश्यकता है (जावाएफएक्स जेआरई के आंतरिक के उपयोग को बनाता है जो इसे वास्तव में बंडल करना मुश्किल बनाता है), तो आप जो वास्तव में चाहते हैं उसे ओएसजीआई तक पहुंच देना है बूस्ट्रापिंग क्लासपाथ ...
मैं कोई विशेषज्ञ नहीं हूं, लेकिन इस ब्लॉग में, स्प्रिंगसोर्स से कॉस्टिन लीउ, यह बताता है कि कैसे करें (किसी भी जार के लिए जो सिस्टम क्लासलोडर तक पूर्ण पहुंच मानता है, न केवल जावाएफएक्स) 3 में विभिन्न तरीके:
org.osgi:
http://blog.springsource.org/2009/01/19/exposing-the-boot-classpath-in-osgi/
मैं विकल्प ए, जो मूल रूप से अपने OSGi कंटेनर की कॉन्फ़िग फ़ाइल में OSGi द्वारा निर्दिष्ट संपत्ति (! कोई भी क्रियान्वयन के लिए विशिष्ट नहीं) स्थापित करने का मतलब है उपयोग करने के लिए चुना है .framework.system.packages.extra = javafx.application; संस्करण = 0.0.0 ...
आप इस सार में संपत्ति के पूरे मूल्य देख सकते हैं मैं बनाने की प्रक्रिया है टेड:
https://gist.github.com/renatoathaydes/5021107
मैं मूल रूप से संकुल के सभी जो JavaFX 2.2 जार निर्यात कर सकते हैं के साथ सेट (और मैं बस मेरी अपाचे Karaf, की तैनाती फ़ोल्डर में JavaFX जार छोड़ने के द्वारा इस में पता चला जो स्वतः इसे एक बंडल में बनाता है, और उसके बाद जेनरेट किए गए मेनिफेस्ट को देखता है) ...वैसे, मैंने कराफ द्वारा उत्पन्न बंडल का उपयोग करने की कोशिश की (जो इसे करने के लिए पैक्स-रैप का उपयोग करता है) लेकिन जावाफैक्स आपके वर्गों को लोड करने की कोशिश करने के तरीके के कारण काम नहीं करेगा (जो जावाएफएक्स बंडल के प्रयास में दिखाई नहीं दे रहा है, सभी जेआरई पैकेजों का उल्लेख नहीं करना जावाएफएक्स एक्सेस करने का प्रयास करता है)।
मुझे संदेह है कि मेरे द्वारा जोड़े गए सभी पैकेज वास्तव में आवश्यक नहीं हैं, लेकिन सुरक्षित होने के लिए, मैंने उन सभी को करफ के रैपर द्वारा जेनरेट किया है और जैसा कि यह काम करता है, मैं तब तक नहीं बदलेगा जब तक इसके लिए कोई अच्छा कारण न हो।
अब मेरे किसी भी बंडल जावाएफएक्स का उपयोग कर सकते हैं जब तक jfxrt.jar जेआरई lib फ़ोल्डर में मौजूद है।
लेकिन मैं SWT और ग्रहण विषुव का उपयोग नहीं कर रहा हूं। क्या ऐसी ओएसजीआई सहायक पुस्तकालय बनाने का कोई और सामान्य तरीका नहीं है? – chrise
मैं अपने प्रश्न पूछने की सलाह देता हूं [ई (एफएक्स) क्लिपसे फोरम] (https://groups.google.com/forum/m/?fromgroups#!forum/efxclipse) – jewelsea
ओएसजीआई बंडल में जावाएफएक्स अभी भी थोड़ा मुश्किल है । ई (एफएक्स) क्लिपसे प्लगइन विषुव के साथ काम कर रहा है लेकिन मुझे इसे अपाचे फेलिक्स के साथ काम नहीं मिला है इसलिए मुझे बूट-क्लासलोडर को jsgafx कक्षाओं को osgi-bundle नहीं जोड़ना पड़ा। उम्मीद है कि आगे एफएक्स संस्करणों में सुधार होगा। – chrise