ClassNotFoundException जावा में एक चेक अपवाद है जो तब होता है जब कोई एप्लिकेशन किसी क्लास को उसके नाम के माध्यम से लोड करने का प्रयास करता है लेकिन उसे ढूंढ नहीं पाता है। ऐसा अक्सर तब होता है जब क्लास क्लासपाथ में मौजूद नहीं होती है।
क्लासपाथ जांचें : सत्यापित करें कि क्लास वाली निर्देशिका या JAR फ़ाइल क्लासपाथ में शामिल है।
java -cp /path/to/classes:/path/to/jars/* com.example.Main
कक्षा का नाम सत्यापित करें : सुनिश्चित करें कि आपके कोड में कक्षा का नाम और पैकेज संरचना सही ढंग से निर्दिष्ट है।
बिल्ड कॉन्फ़िगरेशन का निरीक्षण करें : मेवेन या ग्रैडल जैसे बिल्ड टूल के लिए, सुनिश्चित करें कि निर्भरताएं सही ढंग से परिभाषित हैं।
public class Main { public static void main(String[] args) { try { Class.forName("com.example.NonExistentClass"); } catch (ClassNotFoundException e) { System.out.println("Class not found: " e.getMessage()); } } }
अपेक्षित आउटपुट:
Class not found: com.example.NonExistentClass
इस उदाहरण में, Class.forName("com.example.NonExistentClass") एक ClassNotFoundException फेंक देगा क्योंकि क्लास NonExistentClass मौजूद नहीं है।
NoClassDefFoundError एक त्रुटि है जो तब होती है जब जावा वर्चुअल मशीन (JVM) या ClassLoader उदाहरण एक क्लास को लोड करने का प्रयास करता है जो संकलन के दौरान मौजूद था लेकिन रनटाइम के दौरान नहीं मिला।
रनटाइम क्लासपाथ की जांच करें : सुनिश्चित करें कि सभी आवश्यक कक्षाएं रनटाइम पर क्लासपाथ में मौजूद हैं।
java -cp /path/to/classes:/path/to/jars/* com.example.Main
निर्भरता संस्करणों का निरीक्षण करें : सत्यापित करें कि क्लास फ़ाइलें वर्तमान रनटाइम वातावरण के साथ संगत हैं।
पुनर्निर्माण और स्वच्छ परियोजना: कभी-कभी, परियोजना का पुनर्निर्माण और सफाई करने से दूषित वर्ग फ़ाइलों से संबंधित समस्याएं हल हो सकती हैं।
यहां एक उदाहरण दिया गया है जो NoClassDefFoundError को ट्रिगर कर सकता है:
public class Main { public static void main(String[] args) { new UtilityClass().performAction(); } }
यह मानते हुए कि यूटिलिटीक्लास संकलन-समय के दौरान उपलब्ध था, लेकिन रनटाइम के दौरान क्लासपाथ से गायब है, आपको इसका सामना करना पड़ सकता है:
अपेक्षित आउटपुट:
Exception in thread "main" java.lang.NoClassDefFoundError: com/example/UtilityClass
घटना का समय:
अपवाद बनाम त्रुटि:
विशिष्ट उपयोग के मामले:
ClassNotFoundException और NoClassDefFoundError के बीच अंतर को समझने से आपको क्लास लोडिंग समस्याओं का अधिक प्रभावी ढंग से निवारण करने में मदद मिल सकती है। यदि आपके कोई प्रश्न हैं या आगे स्पष्टीकरण की आवश्यकता है, तो बेझिझक नीचे एक टिप्पणी छोड़ें!
यहां अधिक पोस्ट पढ़ें : ClassNotFoundException और NoClassDefFoundError के बीच अंतर को समझना
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3