प्रोजेक्ट बिल्ड पथ में jfxrt.jar
जोड़ना ग्रहण को सक्षम करने के लिए सक्षम करेगा और आपको ग्रहण के भीतर से अपना कोड विकसित और निष्पादित करने की अनुमति देगा। हालांकि, जब आप अपने सॉफ़्टवेयर को तैनात करते हैं, तो यह अब तक jfxrt.jar
नहीं ढूंढ पाएगा जबतक कि आप इसे क्लासपाथ पर भी न रखें। यह गन्दा हो जाता है क्योंकि आपको jdk
/jre
के स्थान को ढूंढने और jfxrt.jar
के स्थान के अंदर खोजना है।
मैं क्या समझ से, दीर्घकालीन योजना lib/ext
फ़ोल्डर में jre
में lib
फ़ोल्डर से jfxrt.jar
स्थानांतरित करने के लिए है। यह इसे कहीं भी रखेगा जहां इसे डिफ़ॉल्ट रूप से आपके क्लासपाथ में सामान जोड़ने की आवश्यकता के बिना पाया जाता है। दुर्भाग्यवश जावा 8 जारी होने से पहले ऐसा होने की संभावना नहीं है!
इस बीच, सबसे आसान समाधान jar
उपकरण की बजाय अपनी जार फ़ाइल बनाने के लिए बंडल javafxpackager
टूल का उपयोग करना प्रतीत होता है। ant
आधारित समाधान भी है, लेकिन मैं इसके बारे में परिचित नहीं हूं। पैकेजर आपकी जार फ़ाइल बनाएगा, और एक लॉन्चर क्लास डालें जो jfxrt.jar पाता है और गतिशील रूप से रनटाइम पर आपके ऐप के क्लासपाथ में जोड़ता है। यह भी शिकायत करता है कि jre
या स्थापित javafx
बहुत पुराना है और उपयोगकर्ता को एक नया संस्करण डाउनलोड करने के लिए संकेत देता है। फिर यह आपके आवेदन को कमांड लाइन पर निर्दिष्ट कक्षा के माध्यम से कॉल करता है। (आमतौर पर कक्षा main()
विधि के साथ)।
यह देशी जावाफैक्स अनुप्रयोगों और सादे पुराने स्विंग अनुप्रयोगों दोनों के लिए काम करता है। यदि आपके पास अपनी जार फ़ाइल के प्रकट होने में अतिरिक्त सामान था, जैसे कि अन्य क्लासपाथ एंट्री, तो आप नई जार फ़ाइल में शामिल करने के लिए कमांड लाइन पर भी निर्दिष्ट कर सकते हैं।
स्रोत
2013-02-12 03:02:30
क्या आपको यकीन है कि आपके प्रोजेक्ट बिल्ड पथ में jfxrt.jar फ़ाइल है? – invariant
क्या आपने अपना ग्रहण डिफ़ॉल्ट जांच लिया है और परियोजना jdk सेटिंग नए जावा 7 का उपयोग कर रही है? – Quinma
यह चाल है, invariant! मुझे लगता है कि यह जावा 7 में एकीकृत किया गया था, यह स्वचालित रूप से इसे देखेगा, यह सब तब होगा जब जार को "सी: \ प्रोग्राम फ़ाइलें \ जावा \ jdk1.7.0_09 \ jre \ lib" ओह ठीक है, धन्यवाद : डी –