Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Java

क्लास मौजूद होने पर भी Java में ClassNotFoundException क्यों आता है?

ClassNotFoundException तब होता है जब JVM रनटाइम पर निर्दिष्ट पथ पर क्लास फ़ाइल नहीं ढूंढ पाता। सामान्य कारण:

  • गलत क्लास नाम (टाइपो, केस-संवेदनशीलता)
  • क्लासपथ में पैकेज रूट गायब
  • JAR फ़ाइल क्लासपथ में नहीं
  • क्लास फ़ाइल संकलित नहीं हुई या गलत निर्देशिका में

उदाहरण परिदृश्य

क्लास myPackage.example.Sample को D:/myPackage/example/Sample.class पर संकलित किया गया है।

// गलत पैकेज नाम - टाइपो
Class.forName("myPackage.exampl.Sample"); // ClassNotFoundException

// सही नाम लेकिन गलत क्लासपथ (E:/ से चला रहे हैं, क्लास D:/ में है)
Class.forName("myPackage.example.Sample"); // फिर भी ClassNotFoundException

समाधान

  1. क्लास नाम की वर्तनी और केस सत्यापित करें।
  2. सुनिश्चित करें कि पैकेज रूट निर्देशिका (उदाहरण के लिए, D:/) क्लासपथ में है।
  3. निष्पादन करें: java -cp D:/ ClassNotFoundExample

सही निष्पादन

E:\>javac ClassNotFoundExample.java
E:\>java -cp D:/ ClassNotFoundExample
The class named Sample loaded successfully.........

मुख्य अंतर

ClassNotFoundException (रनटाइम पर क्लास नहीं मिली) बनाम NoClassDefFoundError (क्लास संकलन पर मिली लेकिन रनटाइम पर गायब)।

  1. Java में Cursor क्लास का महत्व क्या है? Java में Cursor क्लास का महत्व क्या है?

    एक Cursor, Object क्लास का एक सबक्लास है और इसे स्क्रीन पर पॉइंट या इंडिकेटर के रूप में परिभाषित किया जा सकता है। एक Cursor का उपयोग सिस्टम से इनपुट चुनने के लिए किया जाता है जिसे यूजर माउस के साथ संचालित करता है। Cursor क्लास में उपलब्ध विभिन्न प्रकार के कर्सर हैं: DEFAULT_CURSOR, CROSSHAIR_CURSOR,

  1. - Java में कंस्ट्रक्टर का नाम क्लास के नाम के समान क्यों होता है?

    हर क्लास ऑब्जेक्ट को उसी new कीवर्ड का उपयोग करके बनाया जाता है, इसलिए इसमें उस क्लास के बारे में जानकारी होनी चाहिए जिसका ऑब्जेक्ट इसे बनाना है। इस कारण से, कंस्ट्रक्टर का नाम क्लास के नाम के समान होना चाहिए। उदाहरण class MyConstructor { public MyConstructor() { System.out.println(The

  1. विंडोज 10 में रजिस्ट्री में परिवर्तन कब सेव होते हैं और क्यों? विंडोज 10 में रजिस्ट्री में परिवर्तन कब सेव होते हैं और क्यों?

    जब आप मैन्युअल रूप से विंडोज रजिस्ट्री में परिवर्तन करते हैं या जब किसी सॉफ़्टवेयर या डिवाइस ड्राइवर की इंस्टॉलेशन या अनइंस्टॉलेशन के दौरान विंडोज रजिस्ट्री में परिवर्तन किए जाते हैं, तो विंडोज 10 या विंडोज सर्वर रजिस्ट्री में तुरंत परिवर्तन नहीं करता है। रजिस्ट्री में परिवर्तन कब सेव होते हैं? रजि