मुख्य वर्ग जावा को ढूँढ या लोड नहीं कर सका? इसे ठीक करने का तरीका यहां बताया गया है!

मुख्य वर्ग जावा को ढूँढ या लोड नहीं कर सका? इसे ठीक करने का तरीका यहां बताया गया है!

यदि आप बिना किसी स्पष्ट कारण के अपने जावा प्रोजेक्ट में मुख्य वर्ग नहीं मिला त्रुटि प्राप्त करते रहते हैं, तो चिंता न करें, आप अकेले नहीं हैं।





सबसे अप्रत्याशित और सहज त्रुटियों में से एक के रूप में, जेवीएम (जावा वर्चुअल मशीन) की डिफ़ॉल्ट क्लासपाथ से चिपके रहने की प्रवृत्ति के लिए धन्यवाद, 'मुख्य वर्ग नहीं मिला' मुद्दा कुछ ऐसा है जो शौकिया और पेशेवरों को समान रूप से परेशान करता है।





लेकिन यह मुद्दा वास्तव में जितना लगता है उससे कम डराने वाला है। यह जानने के लिए पढ़ें कि आप इस त्रुटि से हमेशा के लिए कैसे छुटकारा पा सकते हैं।





मुख्य वर्ग क्यों नहीं मिला?

इससे पहले कि हम यह समझने की कोशिश करें कि जेवीएम मुख्य वर्ग को कैसे और क्यों नहीं ढूंढ पाया, हमें इसकी अवधारणा को समझने की जरूरत है क्लासपाथ जावा में।

क्लासपाथ क्या है?

क्लासपाथ वह फ़ाइल पथ है जो जावा रनटाइम वातावरण कक्षाओं और अन्य संसाधन फ़ाइलों की खोज करता है। इसे या तो का उपयोग करके सेट किया जा सकता है -क्लासपाथ किसी प्रोग्राम को निष्पादित करते समय या सिस्टम को सेट करके विकल्प क्लासपाथ वातावरण विविधता।



जैसा कि नाम से पता चलता है, यह केवल एक फ़ाइल पथ है जहाँ ।कक्षा फ़ाइलें JDK पैकेज या निर्देशिका में पाई जा सकती हैं।

जब JVM मुख्य वर्ग का पता लगाने में असमर्थ होता है, तो अक्सर ऐसा इसलिए होता है क्योंकि वह संबंधित की तलाश कर रहा होता है ।कक्षा गलत क्लासपाथ में फ़ाइलें। बेशक, इस समस्या को ठीक करने का तरीका या तो पैकेज का उपयोग करके या क्लासपाथ को निर्दिष्ट करके क्लासपाथ को मैन्युअल रूप से निर्दिष्ट करना है।





इस बिंदु पर, यदि आप जावा कक्षाओं की अपनी स्मृति को ताज़ा करना चाहते हैं, तो इसके लिए हमारी मार्गदर्शिका देखें जावा में कक्षाएं बनाना .

आपको कैसे पता चलेगा कि आपका फेसबुक हैक हो गया था

पैकेज का उपयोग करना

आइए . नामक एक वर्ग बनाएं परीक्षण . इसे नामक पैकेज में रखें परीक्षण पैकेज . समान वर्गों को एक साथ समूहित करने या कक्षाओं के लिए एक अद्वितीय नाम स्थान प्रदान करने के लिए जावा में संकुल का उपयोग किया जाता है।





इस सरल उदाहरण में, पैकेज का उपयोग करने से आपको यह देखने में मदद मिलेगी कि जावा का क्लासपाथ कैसे काम करता है। आपके फ़ाइल प्रबंधक एप्लिकेशन में, एक पैकेज को एक स्वतंत्र फ़ोल्डर के रूप में दर्शाया जाता है।

package testPackage;
public class Test {
public static void main(String args[]) {
System.out.println('File successfully found!');
}
}

अब, एक नया टर्मिनल खोलें और सुनिश्चित करें कि आपकी कार्यशील निर्देशिका वही है जिसमें पैकेज फ़ोल्डर है। आप का उपयोग करके कार्यशील निर्देशिका को बदल सकते हैं सीडी किसी भी ऑपरेटिंग सिस्टम पर कमांड।

संकलन टेस्ट.जावा निम्न आदेश चलाकर:

package testPackage;
javac testPackage/Test.java

यह संकलित बाइनरी फ़ाइल (.class फ़ाइल) को testPackage में सहेज लेगा।

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

java testPackage.Test

क्लास फ़ाइलों को कॉल करने का यह तरीका यह भी सुनिश्चित करता है कि आप एक ही कार्यशील निर्देशिका से विभिन्न पैकेजों से निष्पादन योग्य कॉल कर सकते हैं। आपको केवल पूरी तरह से योग्य वर्ग के नाम को संशोधित करना है।

अधिक उन्नत कार्यान्वयन में, हम अनुशंसा करते हैं कि आप पैकेज के भीतर फ़ाइलों को बेहतर ढंग से प्रबंधित करने के लिए अपनी कक्षाओं और स्रोत फ़ाइलों के लिए अलग सबफ़ोल्डर बनाएं।

मैन्युअल रूप से क्लासपाथ निर्दिष्ट करना

अपनी जावा फ़ाइलों को प्रबंधित करने का अनुशंसित तरीका स्रोत फ़ाइलों और कक्षाओं के लिए अलग निर्देशिका बनाना है। यदि आप किसी प्रोजेक्ट पर काम कर रहे हैं, तो संभावना है कि आप पहले से ही ऐसा कर रहे हैं।

परंपरागत रूप से, स्रोत फ़ाइलों वाली निर्देशिका को इस प्रकार लेबल किया जाता है एसआरसी और .class फ़ाइलों वाली फ़ाइल को इस रूप में लेबल किया गया है कक्षाएं। यह सुनिश्चित करने का भी एक तरीका है कि उचित रूप से संरचित निर्देशिका के कारण JVM को मुख्य वर्ग नहीं मिलने की संभावना काफी कम हो जाती है।

यदि हम इस पद्धति का उपयोग करते हैं, तो संकलन से पहले निर्देशिका संरचना इस तरह दिखेगी:

आईफोन पर टेक्स्ट कैसे फॉरवर्ड करें
|---myFolder
| |---src
| |---testPackage
| |---Test.java
|
| |---classes

उपरोक्त दृष्टांत में प्रत्येक इंडेंट फ़ाइल पदानुक्रम के एक स्तर से मेल खाता है जिसका आपके प्रोजेक्ट को पालन करना चाहिए।

इसे संकलित करने के लिए, सुनिश्चित करें कि आपकी कार्यशील निर्देशिका myFolder है। अब, निम्न आदेश टाइप करें:

javac -d classes src/testPackage/Test.java

NS ।कक्षा निष्पादन योग्य में सहेजा जाना चाहिए myFolder/classes/testPackage . तदनुसार, फ़ाइल निर्देशिका संरचना कुछ इस तरह दिखती है:|_+_|

चलाने के लिए ।कक्षा फ़ाइल, जावा कमांड को पूरी तरह से योग्य वर्ग नाम के साथ चलाएँ और स्थानीय क्लासपाथ निर्दिष्ट करें। प्रत्येक पथ को कार्यशील निर्देशिका के सापेक्ष घोषित किया जाता है, जो इस मामले में myFolder है।

|---myFolder
| |---src
| |---testPackage
| |---Test.java
|
| |---classes
| |---testPackage
| |---Test.class

इस कमांड को चलाने से आपको वांछित आउटपुट देना चाहिए। लेकिन, एक साधारण त्रुटि को हल करने के लिए इतना पुनर्गठन क्यों आवश्यक है?

जावा में फाइलों को व्यवस्थित करने का महत्व

'मुख्य वर्ग को नहीं ढूंढा या लोड नहीं किया जा सका' का मुख्य कारण यह है कि जेवीएम यह नहीं ढूंढ पा रहा था कि आपका ।कक्षा फाइलों का भंडारण किया जा रहा था।

इस त्रुटि को हल करने का सबसे आसान तरीका यह नियंत्रित करना है कि .class फ़ाइलें कहाँ संग्रहीत हैं और स्पष्ट रूप से JVM को वहां देखने के लिए कहें। यह आपकी स्रोत फ़ाइलों और निष्पादनयोग्य को अलग-अलग व्यवस्थित करके और एक कार्यशील निर्देशिका से सब कुछ नियंत्रित करके संभव बनाया गया है।

जैसे ही आप निर्माणों को जोड़ना शुरू करते हैं जैसे कि विरासत आपकी परियोजना के लिए, फ़ाइल सिस्टम जटिलता कई गुना बढ़ने के लिए बाध्य है। ऐसी परियोजनाओं में या यहां तक ​​कि जहां जेएआर फाइलों या कस्टम पुस्तकालयों के उपयोग की आवश्यकता होती है, फाइलों को अलग करने और प्रबंधित करने का सरल अभ्यास आपको समस्या निवारण और डिबगिंग के अनगिनत घंटे बचा सकता है।

जावा में क्लासपाथ कैसे काम करता है और आपके कोड को चलाने की बात आने पर आप जिन कई चीजों को नियंत्रित कर सकते हैं, उनके बारे में अधिक पढ़ने के लिए, आप Oracle पर भी एक नज़र डाल सकते हैं विस्तृत और उपयोगकर्ता के अनुकूल संदर्भ .

साझा करना साझा करना कलरव ईमेल नए प्रोग्रामर के लिए 10 सर्वश्रेष्ठ शुरुआती परियोजनाएं

प्रोग्रामिंग सीखना चाहते हैं लेकिन यह नहीं जानते कि कहां से शुरू करें? ये शुरुआती प्रोग्रामिंग प्रोजेक्ट और ट्यूटोरियल आपको शुरू कर देंगे।

वर्ड में टेक्स्ट कैसे इनवर्ट करें
आगे पढ़िए संबंधित विषय
  • प्रोग्रामिंग
  • जावा
लेखक के बारे में यश चेलानी(१० लेख प्रकाशित)

यश एक महत्वाकांक्षी कंप्यूटर विज्ञान का छात्र है, जो चीजों को बनाना और टेक के बारे में सभी चीजों के बारे में लिखना पसंद करता है। अपने खाली समय में, वह स्क्वैश खेलना पसंद करते हैं, नवीनतम मुराकामी की एक प्रति पढ़ते हैं, और स्किरीम में ड्रेगन का शिकार करते हैं।

यश चेलानी की और फ़िल्में या टीवी शो

हमारे न्यूज़लेटर की सदस्यता लें

तकनीकी युक्तियों, समीक्षाओं, निःशुल्क ई-पुस्तकों और अनन्य सौदों के लिए हमारे न्यूज़लेटर से जुड़ें!

सब्सक्राइब करने के लिए यहां क्लिक करें