जावाएफएक्स लापता, उबंटू 18.04


18

मेरे पास जावा 8 और उबंटू 18.04 है। मैं NetBeans का उपयोग कर रहा हूं और जब कुछ प्रोग्राम बनाने की कोशिश की जाती है, तो ऐसा नहीं किया जा सकता क्योंकि JavaFX गायब है।

मैंने ओरेकल की साइट से नेटबीन्स के साथ जावा जेडीके स्थापित किया और सोचा कि सब कुछ शामिल है, लेकिन जाहिर है मैंने इसे अच्छी तरह से जांच नहीं किया।

मुझे क्या करना चाहिए, मुझे क्या स्थापित करना चाहिए? मैं इस पर बहुत अच्छा नहीं हूँ और पता नहीं है कि समस्या Ubuntu या जावा के साथ है। :(


जवाबों:


18

Ubuntu 16.04 और बाद में डिफ़ॉल्ट रिपॉजिटरी में JavaFX को एक अलग पैकेज के रूप में पैक किया गया है जिसका नाम है ओपनफैक्स। इसे Ubuntu 18.04 में स्थापित करने के लिए, टर्मिनल खोलें और टाइप करें:

sudo apt install openjdk-8-jdk openjfx

जांचें कि JDK 8 को नेटबीन्स में डिफ़ॉल्ट जावा संस्करण के रूप में चुना गया है -> उपकरण -> विकल्प -> जावा -> नैशोर्न टैब -> प्लेटफ़ॉर्म प्रबंधित करें बटन पर क्लिक करें -> प्लेटफ़ॉर्म जोड़ें बटन पर क्लिक करें -> जावा मानक संस्करण चिह्नित रेडियो बटन पर क्लिक करें। -> अगला बटन क्लिक करें -> ब्राउज़ करें /usr/lib/jvm/java-8-openjdk-amd64और इसे डिफ़ॉल्ट जावा संस्करण के रूप में चुनें।

वैकल्पिक रूप से आप Openjdk-11-jdk के बजाय या Openjdk-8-jdk के साथ स्थापित कर सकते हैं। Openjfx उबंटू 18.04 में Netbeans में Openjdk-8-jdk और Openjdk-11-jdk दोनों के साथ काम करता है। मैं Ubuntu 18.04 में Netbeans 8.2 10.0 का उपयोग कर रहा हूं ।


धन्यवाद, आपकी कमांड का काम है लेकिन अभी भी मेरी java.io पुस्तकालय के साथ मैं त्रुटि मिलती है Exception in thread "main" java.lang.IllegalStateException: Toolkit not initialized... मैं पता नहीं क्यों
मारिया

@ मेरा क्षमा करें, आपको मिली त्रुटि मुझे अपने JavaFX कोड में मिली क्योंकि मैंने पहली बार जब मैंने इसे अपलोड किया था तब पास्टबिन में अंत तक सभी कोड को कॉपी नहीं किया था। मैंने पहली बार इसे अपलोड करने के अंत में दो घुंघराले ब्रेसिज़ को छोड़ दिया। मैंने यहां फिर से कोड अपलोड किया । Netbeans में मेरे JavaFX प्रोजेक्ट का नाम HelloWorldFX है।
कारेल

IntelliJ में JDK 8 को स्थापित करने और प्रोजेक्ट SDK को 8 (SDK 10 पर काम नहीं करना चाहता) को बदलने के बाद ही JavaFX मेरे लिए 18.04 पर काम करता है।
लाइन

यह IntelliJ में एक JDK पथ का मुद्दा होना चाहिए क्योंकि JDK 8 और 11 दोनों उबंटू 18 Net में Netbeans में एक-दूसरे के साथ काम करते हैं, दोनों के लिए एक ही JavaFX पैकेज के साथ।
कारेल

मैंने अपनी पूरी हार्ड ड्राइव की जाँच की, लेकिन ओपनजैफ़एक्स को स्थापित करने के बाद मुझे एक javafx वितरण नहीं मिल रहा है। यह / usr / lib / jvm / <jdk> / jre / lib / ext / में नहीं है, जहाँ मैंने इसे अन्य उपकरणों जैसे कि मेरे लैपटॉप पर चलने वाले manjaro में पाया है। : /
निकल्स वेस्ट

0

मुझे लगता है कि sdkman को स्थापित करना सबसे आसान तरीका है । एक बार स्थापित होने के बाद, सभी उपलब्ध उम्मीदवारों की जांच करें:

$ sdk list java

जो कई तरह के विकल्प दिखाएगा। आप FXप्रत्यय के साथ एक का चयन कर सकते हैं । मेरे मामले में मैं कुछ इस तरह देख सकता हूं:

 Azul ZuluFX   |     | 11.0.2       | zulufx  |            | 11.0.2-zulufx       
               |     | 8.0.202      | zulufx  |            | 8.0.202-zulufx      
 BellSoft      |     | 12.0.2       | librca  |            | 12.0.2-librca       
               |     | 11.0.4       | librca  |            | 11.0.4-librca       

इसलिए, आप इसे इस कमांड का उपयोग करके स्थापित कर सकते हैं:

$ sdk install java 11.0.2-zulufx   

या,

$ sdk install java 8.0.202-zulufx # if you want java 8

और आप जाने के लिए अच्छे हैं! आशा है कि ये आपकी मदद करेगा! :)


0

इस मुद्दे को ओपनफैक्स पथ और मॉड्यूल को तर्क के रूप में जोड़कर तय किया जा सकता है जब javafx एप्लिकेशन को चला रहा है, तो मैंने पहले ही इस लिंक पर समाधान पोस्ट किया है ।
सौभाग्य
लतीफी


0

मुझे भी यही समस्या थी। मैंने ओपनजेडक स्थापित किया, लेकिन यह ओपनजफएक्स के साथ संगत नहीं था, क्योंकि उपलब्ध एकमात्र संस्करण ओपनजेडएक्स 11 है।

इसलिए मैं थोड़ी देर के लिए खोजा और ZuluFX में ठोकर खाई। मैंने इसे sdkman के साथ स्थापित किया, जिसे आप उनकी वेबसाइट से डाउनलोड कर सकते हैं। Sdkman को स्थापित करने के बाद, बस zulufx स्थापित करें।

$ sdk स्थापित जावा 8.0.202-zulufx

आपका $ JAVA_HOME वह मार्ग होना चाहिए जहाँ sdk आदमी स्थापित है -> /home/valentin/.sdkman/candidates/java/current

अब आप JDK को नेटबीन्स में उस रास्ते पर ले जा सकते हैं और यह ठीक काम करना चाहिए!

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.