درست کریں: مین کلاس کو تلاش یا لوڈ نہیں کرسکا



مسائل کو ختم کرنے کے لئے ہمارے آلے کو آزمائیں

غلطی ' مین کلاس کو تلاش یا لوڈ نہیں کرسکا ’اس وقت ہوتا ہے جب ٹرمینل میں کلاس کا نام بتاتے ہوئے جاوا پروگرام شروع کرنے کے لئے کمانڈ پرامپٹ میں جاوا کمانڈ استعمال کیا جاتا ہے۔ ایسا ہونے کی وجہ زیادہ تر کلاس کا اعلان کرتے وقت صارف کی پروگرامنگ کی غلطی ہوتی ہے۔



جاوا کمانڈ لائن میں مین کلاس کو تلاش یا لوڈ نہیں کیا جاسکا

مرکزی کلاس جاوا کمانڈ لائن کو تلاش یا لوڈ نہیں کرسکا



جیسا کہ پہلے ذکر کیا گیا ہے ، یہ غلطی زیادہ تر نظام سے متعلق نہیں ہے اور صارف متعدد منظرناموں میں غلطی کرتا ہے جیسا کہ ذیل میں دکھایا گیا ہے۔ آگے بڑھنے سے پہلے ، ہم فرض کرتے ہیں کہ آپ کو جاوا پروگرامنگ زبان اور اس کے کام کرنے کا بنیادی علم ہے۔



جاوا میں ’مین کلاس نہ ڈھونڈ سکا یا لوڈ نہیں کیا جاس‘ کی وجہ سے کیا وجہ ہے؟

پیغام 'مرکزی کلاس نہ ڈھونڈ سکا یا لوڈ نہیں ہوسکا' اس کا مطلب ہے کہ جاوا کے انجن کو پھانسی کے لئے کلاس لانے کا پہلا مرحلہ ناکام ہوگیا ہے۔ جاوا کمانڈ کرنے کے قابل نہیں تھا تلاش کریں صحیح ڈائرکٹری میں کلاس.

کچھ معاملات میں ، آپ کو شامل کرنا ہوگا درست فائل پاتھ اور جاوا ٹرمینل کو صحیح جگہ کی طرف اشارہ کریں۔ چونکہ آپ کمانڈ لائن ٹرمینل سے کمانڈ پر عمل کررہے ہیں ، کمپیوٹر کو پتہ نہیں چلتا ہے کہ کلاس کہاں سے ملنی ہے یا وہ کہاں ہے۔ ھدف شدہ IDE میں ، یہ مسئلہ نہیں ہے کیونکہ IDE موجودہ کام کرنے والی ڈائرکٹری کی طرف اشارہ کرتے ہوئے ایک پوائنٹر رکھتا ہے۔

’جاوا‘ نحو کیا ہے؟

اس سے پہلے کہ ہم خرابیوں کا سراغ لگانا شروع کردیں کیوں کہ عملدرآمد کرنے کی کوشش کرتے وقت ٹرمینل ہمیں غلطی واپس کررہا ہے ، پہلے ہمیں کمانڈ کا نحو دیکھنا ہوگا۔ اگر آپ صحیح نحو استعمال نہیں کررہے ہیں تو ، آپ کو اس لامحالہ کا سامنا کرنا پڑے گا۔



کمانڈ کا عام نحو کچھ اس طرح ہے۔

جاوا [...] [...]

یہاں ایک کمانڈ لائن آپشن ہے ، مکمل طور پر قابل جاوا کلاس کا نام ہے ، اور ایک کمانڈ لائن استدلال ہے جو پورا پیکیج مرتب ہونے پر آپ کی درخواست پر منتقل ہوتا ہے۔

درست کمانڈ کی ایک مثال یہ ہے:

java -Xmx100m com.acme.example.ListAppouts کیون تیر تیر

مذکورہ کمانڈ جاوا کمانڈ کو مندرجہ ذیل کارروائیوں پر عمل پیرا کرے گی۔

  • یہ کلاس کے مرتب شدہ ورژن کی تلاش کرے گا ‘۔ com.acme.example.ListAppouts '.
  • تلاش کے بعد ، یہ کلاس لوڈ کرے گا۔
  • اگلا ، جب کلاس بھری ہو گی ، کلاس کو ایک درست دستخط ، ترمیم کرنے والے ، اور واپسی کی قسم کے ساتھ ایک ’’ اہم ‘‘ طریقہ کے لئے تلاش کیا جائے گا۔ ایک نمونہ مرکزی کلاس کچھ اس طرح ہوگی:
عوامی جامد باطل مین (سٹرنگ [])
  • اس طریقہ کو دلائل کے ساتھ کہا جائے گا ‘کیون’ ، ‘تیر’ ، اور ’بارٹ‘ کے طور پر تار []۔

‘مرکزی کلاس نہ ڈھونڈ سکیں یا انھیں لوڈ نہ کیا جاسکے’ کیسے درست کریں

حل 1: کلاس کے نام کی دلیل کی جانچ ہو رہی ہے

صارفین کی سب سے عام غلطی یہ ہے کہ وہ ایک کلاس کا غلط نام بطور دلیل فراہم کرتے ہیں (یا ایک درست طبقاتی نام غلط شکل ہے)۔ چونکہ ہم کمانڈ لائن پر پیرامیٹرز کا اعلان کررہے ہیں ، اس کا بہت زیادہ امکان ہے کہ آپ کلاس نام کی دلیل کو غلط شکل میں پاس کردیں۔ یہاں ہم ان تمام ممکنہ منظرناموں کی فہرست دیں گے جہاں آپ غلطی کرسکتے ہیں۔

  • لکھنا a عام کلاس کا نام . اگر آپ کلاس کو کسی پیکیج میں قرار دیتے ہیں جیسے کہ ‘com.acme.example’ ، آپ کو لازمی طور پر اس کا استعمال کریں مکمل کلاس کا نام جاوا کمانڈ میں پیکیج بھی شامل ہے۔
جاوا com.acme.example.ListAppouts

کے بجائے

جاوا کی فہرست
  • تمہیں چاہئے کلاس کا نام اعلان کریں فائل کا نام یا پاتھ اسم اعلان کرنے کی بجائے۔ جاوا کلاس نہیں لاتا ہے اگر آپ اس کے لئے پاتھ اسم / فائل نام اعلان کرتے ہیں۔ غلط اندراجات میں درج ذیل شامل ہیں:
جاوا لسٹ ایپلیوئیلس۔کلاس جاوا کام / ایکمی / مثال / لسٹ ایپلیوز کالس
  • سانچے غور میں رکھنا چاہئے۔ جاوا کمانڈ کیس حساس ہیں اور اگر آپ حتی کہ ایک حرف سے بھی غلطی کرتے ہیں تو ، آپ مین کلاس کو لوڈ نہیں کرسکیں گے۔ کی ایک مثال غلط غلطیاں ہیں:
جاوا com.acme.example.listappouts
  • تم نہیں ہونا چاہیے کرنے کا اعلان ماخذ فائل نام . جیسا کہ پہلے ذکر ہوا ہے ، آپ کو صرف کلاس کو صحیح فل کلاس نام کی شکل میں قرار دینے کی ضرورت ہے۔ غلطی کی مثال یہ ہے:
جاوا لسٹ ایپلیوز.جاوا
  • یہ غلطی اس وقت بھی ہوگی جب آپ ایک کرتے ہیں ٹائپنگ کی غلطی یا کلاس کا نام پوری طرح لکھنا بھول جائیں .

اگر آپ نے طبقاتی نام کے اعلان میں کوئی ڈھلکی غلطیاں کی ہیں ، تو یقینی بنائیں کہ آپ نے اسے ٹھیک کردیا ہے اور پھر پروگرام شروع کرنے کی کوشش کریں۔

حل 2: کلاسਪਾٹ چیک کر رہا ہے

اگر آپ نے طبقاتی نام کو صحیح طریقے سے قرار دے دیا ہے لیکن پھر بھی غلطی ظاہر کی گئی ہے تو ، امکانات یہ ہیں کہ جاوا کمانڈ راستے میں مخصوص کلاس نام تلاش نہیں کرسکا۔ کلاس پاتھ ایک ایسا راستہ ہے جہاں جاوا رن ٹائم وسائل اور کلاس فائلوں کی تلاش کرتا ہے۔ ذیل میں دکھایا گیا ہے کہ آپ دو مختلف کمانڈز کا استعمال کرتے ہوئے آسانی سے کلاس پاتھ ترتیب دے سکتے ہیں۔

C:> sdkTool -classpath classpath1؛ classpath2 ... C:> CLASSPATH = classpath1 سیٹ کریں class کلاسपथ 2 ...

کلاسपथ کے بارے میں مزید بصیرت حاصل کرنے کے ل you ، آپ کو مندرجہ ذیل دستاویزات کو چیک کرنا چاہئے۔

جاوا کمانڈ دستاویزات

کلاس پاتھ کی ترتیب

حل 3: ڈائرکٹری کی جانچ ہو رہی ہے

جب آپ کسی ڈائرکٹری کو کلاسपथ کے طور پر اعلان کرتے ہیں تو ، یہ ہمیشہ نام کی جگہ کی جڑ کے مطابق ہوگا۔ مثال کے طور پر اگر '/ usr / لوکل / ایکمی / کلاسز' کلاس پاتھ پر ہے تو جاوا کلاس 'com.acme.example.appouts' تلاش کرے گا۔ یہ درج ذیل پاتھ نام کے ساتھ ایک کلاس تلاش کرے گا:

/usr/local/acme/classes/com/acme/example/appouts.class

لہذا مختصرا، ، اگر آپ درج ذیل پتے کلاس پاتھ میں ڈال دیتے ہیں تو ، جاوا کلاس نہیں ڈھونڈ سکے گا۔

/ usr / مقامی / acme / کلاس / com / acme / مثال

آپ کو اپنی بھی جانچ کرنی چاہئے سب ڈائرکٹری اور دیکھیں کہ آیا یہ ایف کیو این سے مماثل ہے۔ اگر آپ کی کلاسز ایف کیو این 'com.acme.example.appouts' ہیں ، تو جاوا ڈائریکٹری 'com / acme / مثال' میں 'Appouts.class' تلاش کرے گا۔

آپ کو ایک مثال دینے کے لئے ، فرض کریں کہ مندرجہ ذیل منظر نامے کو دیکھیں:

  • آپ جس کلاس کو چلانا چاہتے ہیں وہ ہے: com.acme.example.appouts
  • پوری فائل کا راستہ ہے: /usr/local/acme/classes/com/acme/example/appouts.class
  • موجودہ ورکنگ ڈائرکٹری ہے: / usr / مقامی / ایکمی / کلاسز / com / acme / مثال /

تب مندرجہ ذیل منظرنامے منعقد ہوں گے:

# غلط ، ایف کیو این کو جاوا ایپلپس کی ضرورت ہے # غلط ، موجودہ ورکنگ ڈائرکٹری میں کوئی `com / acme / example` فولڈر موجود نہیں ہے java com.acme.example.appouts # غلط ، مذکورہ بالا منظر جاوا - کلاس پاتھ سے ملتا جلتا ہے۔ com.acme.example.appouts # Ok؛ ایک رشتہ دار کلاس پیٹ جاوا - کلاس پاتھ پر سیٹ کیا گیا ہے ../../ .. com.acme.example.appouts # ٹھیک؛ ایک مطلق کلاسਪਾٹ جاوا - کلاس پاتھ / usr / مقامی / acme / کلاسز com.acme.example.appouts مقرر کیا گیا ہے

نوٹ: کلاس پاتھ کو دیگر تمام کلاسز (غیر نظام) کو بھی شامل کرنے کی ضرورت ہے جس کی آپ کی درخواستوں کو ضرورت ہے۔

حل 4: کلاس پیکیج کی جانچ ہو رہی ہے

اگر مذکورہ بالا تمام حل آپ کے معاملے میں درست ہیں تو ، آپ کو یہ یقینی بنانا ہوگا کہ آپ کا سورس کوڈ صحیح فولڈر میں رکھا گیا ہے۔ نیز ، آپ نے صحیح طور پر اعلان کیا ہے پیکیج . اگر آپ اپنا کوڈ کسی IDE کے ساتھ چلاتے ہیں تو ، یہ شاید اس مسئلے سے متعلق آپ کو آگاہ کرے گا۔ تاہم ، ہمارے معاملے میں ، چونکہ ہم اسے کمانڈ پرامپٹ چلا رہے ہیں ، اس لئے غلطی کا دھیان نہیں جائے گا اور آپ کو طبقاتی غلطی زیربحث آئے گی۔

4 منٹ پڑھا