
JavaFX चेतावनी: असमर्थित JavaFX कॉन्फ़िगरेशन: 'अनाम मॉड्यूल @...' से लोड की गई कक्षाएं
समस्या:
जावाएफएक्स को स्थापित करने और चलाने पर, उपयोगकर्ताओं को एक चेतावनी मिलती है जिसमें कहा गया है कि "असमर्थित जावाएफएक्स कॉन्फ़िगरेशन: कक्षाएं 'अनाम मॉड्यूल @...' से लोड किए गए थे।"
पृष्ठभूमि:
यह चेतावनी जावा में जावा प्लेटफ़ॉर्म मॉड्यूल सिस्टम (जेपीएमएस) की शुरूआत से उत्पन्न हुई है 9. JavaFX मॉड्यूल को मॉड्यूल-पथ से "नामित मॉड्यूल" के रूप में लोड किया जाना चाहिए, न कि वर्ग-पथ।
समाधान:
इसे हल करने के लिए:
- सुनिश्चित करें कि JavaFX मॉड्यूल-पथ पर है: --मॉड्यूल-पथ विकल्प का उपयोग करके JavaFX को मॉड्यूल-पथ में जोड़ें।
- JavaFX को इस रूप में हल करें नामांकित मॉड्यूल: गैर-मॉड्यूलर अनुप्रयोगों के लिए, JavaFX मॉड्यूल को नामित मॉड्यूल के रूप में हल करने के लिए जावा को मजबूर करने के लिए --एड-मॉड्यूल विकल्प का उपयोग करें।
- मॉड्यूलर अनुप्रयोग: का उपयोग करें - मॉड्यूल-जानकारी डिस्क्रिप्टर में उचित आवश्यक निर्देशों के साथ अपने एप्लिकेशन को मॉड्यूल के रूप में लॉन्च करने के लिए मॉड्यूल विकल्प।
- जेडीके वितरण का उपयोग करें JavaFX: JavaFX को नामित मॉड्यूल के रूप में स्वचालित रूप से लोड करने के लिए एक JDK वितरण स्थापित करें जिसमें JavaFX शामिल है, जैसे कि बेलसॉफ्ट लिबरिका JDK या Azul Zulu JDK।
- चेतावनी पर ध्यान न दें: JavaFX के रूप में 21, चेतावनी को अनदेखा करना एक विकल्प है, लेकिन असमर्थित कॉन्फ़िगरेशन का उपयोग करने से भविष्य में नुकसान हो सकता है मुद्दे।
परिनियोजन:
- ग्राहकों के पास JavaFX के साथ JRE होना आवश्यक है: सुनिश्चित करें कि ग्राहकों के पास JavaFX के साथ JRE स्थापित हो .
- एक स्व-निहित एप्लिकेशन वितरित करें: एक बनाएं एप्लिकेशन, लाइब्रेरी और JRE को एक साथ बंडल करने के लिए jlink या नेटिव इमेज जैसे टूल का उपयोग करके स्व-निहित एप्लिकेशन।
- निष्पादन योग्य "फैट" JAR फ़ाइल: JavaFX और सभी निर्भरता को एक निष्पादन योग्य JAR में एम्बेड करें फ़ाइल। हालाँकि, यह दृष्टिकोण स्पष्ट रूप से असमर्थित है क्योंकि यह JavaFX को अनाम मॉड्यूल से लोड करता है।