एक्लिप्स जेडीके 10 बिल्ड पाथ ट्रांज़िशन के बाद एक्सएमएल क्लासेस का पता लगाने में असमर्थ: रिज़ॉल्यूशन
मावेन प्रोजेक्ट के बिल्ड पथ को जेडीके 10 पर स्विच करने का प्रयास करते समय एक्लिप्स के भीतर, उपयोगकर्ताओं को एक समस्या का सामना करना पड़ सकता है जहां एक्लिप्स निर्माण प्रक्रियाएँ XML-संबंधित कक्षाओं का पता लगाने में विफल रहती हैं, जिनमें शामिल हैं javax.xml.xpath.XPath, org.w3c.dom.Document, और org.xml.sax.SAXException। ये कठिनाइयाँ मुख्य रूप से xml-apis-1.4.01 निर्भरता से प्राप्त कक्षाओं को प्रभावित करती हैं। मॉड्यूल-info.java फ़ाइल का उपयोग करके स्पष्ट रूप से मॉड्यूल के रूप में घोषित किए बिना 10। इसका मतलब यह है कि प्रोजेक्ट का कोड अनाम मॉड्यूल में संकलित है, जिसमें जेआरई सिस्टम लाइब्रेरी से java.xml सहित नामित और अनाम मॉड्यूल की पूर्ण दृश्यता है, जो इन समस्याग्रस्त पैकेजों को निर्यात करता है।
इसके अतिरिक्त, xml- क्लासपाथ पर apis.java इन्हीं पैकेजों का एक और सेट प्रदान करता है। हालाँकि, ये पैकेज अनाम मॉड्यूल से जुड़े हैं, जिससे जेएलएस §7.4.3 में परिभाषित "अद्वितीय दृश्यता" आवश्यकता का उल्लंघन होता है। नतीजतन, प्रोग्राम अमान्य हो जाता है और कंपाइलरों से अस्वीकृति का सामना करना पड़ता है। (1) प्रोजेक्ट को एक मॉड्यूल के रूप में घोषित करें
एक मॉड्यूल-info.java फ़ाइल का परिचय दें प्रोजेक्ट, यह परिभाषित करना कि प्रोजेक्ट को "आवश्यकता" कीवर्ड के उपयोग के माध्यम से कौन से विशिष्ट मॉड्यूल को पढ़ना चाहिए। यह दृष्टिकोण स्पष्ट रूप से यह बताकर अद्वितीय दृश्यता सुनिश्चित करता है कि कौन से पैकेज आयात किए गए हैं। अवलोकन योग्य मॉड्यूल के सेट से java.xml। एक्लिप्स में, इसे "सामग्री" टैब के अंतर्गत "मॉड्यूलैरिटी विवरण" संवाद के माध्यम से पूरा किया जा सकता है। Java.base के अलावा अधिकांश मॉड्यूल को "उपलब्ध मॉड्यूल" कॉलम में धकेलना और आवश्यक मॉड्यूल को चुनिंदा रूप से पुनः जोड़ना आवश्यक हो सकता है।
(3) java.xml (JDK बग) को बाहर निकालेंयह दृष्टिकोण कम अनुशंसित है, क्योंकि यह javac में एक बग का लाभ उठाता है जो अवैध स्थिति को संकलन पास करने की अनुमति देता है। java.xml को बिल्ड पथ के अंत तक ले जाकर, इसे अनाम मॉड्यूल से प्रभावी ढंग से छिपाया जा सकता है। हालाँकि, इससे अप्रत्याशित व्यवहार हो सकता है और यह एक विश्वसनीय दीर्घकालिक समाधान नहीं है।
निष्कर्ष में, एक्लिप्स में जेडीके 10 पर स्विच करने पर एक्सएमएल-संबंधित क्लास नॉट-फाउंड समस्या के उल्लंघन के कारण होती है। अद्वितीय दृश्यता आवश्यकता. समस्या का समाधान या तो प्रोजेक्ट को मॉड्यूलराइज़ करके या अवलोकन योग्य मॉड्यूल को सीमित करके किया जाता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3