تعذر العثور على فئة Java الرئيسية أو تحميلها؟ إليك كيفية إصلاحه!

تعذر العثور على فئة Java الرئيسية أو تحميلها؟ إليك كيفية إصلاحه!

إذا استمر ظهور خطأ في الفصل الرئيسي غير موجود في مشروع Java الخاص بك دون سبب واضح ، فلا تقلق ، فأنت لست وحدك.





كواحد من أكثر الأخطاء العفوية وغير المتوقعة ، بفضل ميل JVM (Java Virtual Machine) إلى التمسك بمسار الفصل الافتراضي ، فإن مشكلة `` الطبقة الرئيسية غير موجودة '' هي أمر يطارد الهواة والمحترفين على حد سواء.





لكن هذه المسألة في الواقع أقل ترويعًا مما تبدو عليه. تابع القراءة لمعرفة كيف يمكنك التخلص من هذا الخطأ مرة واحدة وإلى الأبد.





لماذا لم يتم العثور على الفصل الرئيسي؟

قبل أن نحاول فهم كيف ولماذا لم تتمكن JVM من العثور على الفصل الرئيسي ، نحتاج إلى فهم مفهوم كلاسباث في جافا.

ما هو Classpath؟

classpath هو مسار الملف الذي تبحث عنه بيئة Java runtime عن الفئات وملفات الموارد الأخرى. يمكن ضبطه باستخدام إما ملف -classpath الخيار عند تنفيذ برنامج أو عن طريق ضبط النظام CLASSPATH متغيرات البيئة.



كما يوحي الاسم ، إنه ببساطة مسار ملف حيث يكون ملف .صف دراسي يمكن العثور على الملفات في حزمة أو دليل JDK.

عندما يتعذر على JVM تحديد موقع الفصل الرئيسي ، فعادةً ما يكون ذلك بسبب بحثه عن المطابق .صف دراسي الملفات الموجودة في مسار الفصل الخطأ. بالطبع ، تتمثل طريقة تصحيح هذه المشكلة في تحديد مسار الفئة يدويًا إما باستخدام الحزم أو تحديد مسار الفصل.





في هذه المرحلة ، إذا كنت ترغب في تحديث ذاكرتك الخاصة بفئات Java ، فراجع دليلنا الخاص بـ إنشاء فصول في جافا .

كيفية تصغير حجم jpg

باستخدام الحزم

دعونا ننشئ فصل دراسي يسمى اختبار . ضعه في حزمة تسمى testPackage . تُستخدم الحزم في Java لتجميع الفئات المتشابهة معًا أو توفير مساحة اسم فريدة للفئات.





في هذا المثال البسيط ، سيساعدك استخدام الحزمة في تصور كيفية عمل classpath في Java. في تطبيق مدير الملفات الخاص بك ، يتم تمثيل الحزمة كمجلد مستقل.

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

الآن ، افتح محطة جديدة وتأكد من أن دليل العمل الخاص بك هو نفسه الذي يحتوي على مجلد الحزمة. يمكنك تغيير دليل العمل باستخدام ملف قرص مضغوط الأمر على أي نظام تشغيل.

تجميع Test.java عن طريق تشغيل الأمر التالي:

package testPackage;
javac testPackage/Test.java

سيؤدي هذا إلى حفظ الملف الثنائي المترجم (ملف .class) في testPackage.

لتشغيل الفئة المترجمة ، تحتاج إلى كتابة اسم الفئة المؤهل بالكامل في سطر الأوامر. يشير الاسم المؤهل بالكامل لفئة Java إلى اسمها مسبوقًا باسم الحزمة الخاص بها. في هذه الحالة ، يجب أن يبدو هذا كالتالي:

java testPackage.Test

تضمن طريقة استدعاء ملفات الفئة أيضًا أنه يمكنك استدعاء الملفات التنفيذية من حزم مختلفة من دليل العمل نفسه. كل ما عليك فعله هو تعديل اسم الفئة المؤهلة بالكامل.

في عمليات التنفيذ الأكثر تقدمًا ، نوصي بإنشاء مجلدات فرعية منفصلة لفئاتك وملفات المصدر لإدارة الملفات بشكل أفضل داخل الحزمة.

تحديد Classpath يدويًا

الطريقة الموصى بها لإدارة ملفات جافا الخاصة بك هي إنشاء أدلة منفصلة للملفات والفئات المصدر. إذا كنت تعمل في مشروع ، فمن المحتمل أنك تقوم بذلك بالفعل.

تقليديًا ، يتم تصنيف الدليل الذي يحتوي على ملفات المصدر على أنه src ويتم تسمية الملف الذي يحتوي على ملفات الطبقات. هذه أيضًا طريقة لضمان تقليل احتمالية عدم عثور JVM على الفئة الرئيسية بشكل كبير ، بسبب الدليل المنظم بشكل صحيح.

إذا استخدمنا هذه الطريقة ، فهذا هو الشكل الذي ستبدو عليه بنية الدليل قبل التحويل البرمجي:

كيفية إزالة واقي الشاشة البلاستيكي
|---myFolder
| |---src
| |---testPackage
| |---Test.java
|
| |---classes

تتوافق كل مسافة بادئة في الرسم التوضيحي أعلاه مع مستوى واحد من التسلسل الهرمي للملفات الذي يجب أن يتبعه مشروعك.

لتجميع هذا ، تأكد من أن دليل العمل الخاص بك هو myFolder. الآن ، اكتب الأمر التالي:

javac -d classes src/testPackage/Test.java

ال .صف دراسي يجب حفظ الملف القابل للتنفيذ بتنسيق myFolder / فئات / testPackage . وفقًا لذلك ، تبدو بنية دليل الملف كما يلي:

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

لتشغيل ملف .صف دراسي ملف ، قم بتشغيل أمر Java باستخدام اسم الفئة المؤهل بالكامل وحدد مسار الفصل المحلي. يتم التصريح عن كل مسار بالنسبة إلى دليل العمل ، وهو في هذه الحالة myFolder.

java -classpath classes testPackage

يجب أن يمنحك تشغيل هذا الأمر الإخراج المطلوب. ولكن ، لماذا كل هذا القدر من إعادة التنظيم ضروري لحل خطأ بسيط؟

أهمية تنظيم الملفات في جافا

السبب الحقيقي وراء طرح 'تعذر العثور على الصف الرئيسي أو تحميله' هو أن JVM لم يكن قادرًا على العثور على مكان .صف دراسي تم تخزين الملفات.

أسهل طريقة لحل هذا الخطأ هي التحكم في مكان تخزين ملفات .class وإخبار JVM صراحة بالبحث هناك. أصبح هذا ممكنًا عن طريق تنظيم ملفاتك المصدر والملفات التنفيذية بشكل منفصل والتحكم في كل شيء من دليل العمل.

عندما تبدأ في إضافة بنيات مثل ميراث بالنسبة لمشروعك ، فإن تعقيد نظام الملفات لا بد أن يزداد متشعبًا. في مثل هذه المشاريع أو حتى تلك التي تتطلب استخدام ملفات JAR أو المكتبات المخصصة ، فإن الممارسة البسيطة لفصل الملفات وإدارتها يمكن أن توفر لك ساعات لا حصر لها من استكشاف الأخطاء وإصلاحها وتصحيح الأخطاء.

لقراءة المزيد حول كيفية عمل classpath في Java والأشياء العديدة التي يمكنك التحكم فيها عندما يتعلق الأمر بتشغيل التعليمات البرمجية الخاصة بك ، يمكنك أيضًا إلقاء نظرة على Oracle مرجع مفصل وسهل الاستخدام .

يشارك يشارك سقسقة بريد الالكتروني أفضل 10 مشاريع للمبتدئين للمبرمجين الجدد

هل تريد تعلم البرمجة ولكن لا تعرف من أين تبدأ؟ ستبدأ مشاريع البرمجة والبرامج التعليمية هذه للمبتدئين.

لماذا لا يعمل صوتي على جهاز iPhone الخاص بي
اقرأ التالي مواضيع ذات صلة
  • برمجة
  • جافا
نبذة عن الكاتب ياش شيلاني(10 مقالات منشورة)

ياش هو طالب علوم كمبيوتر طموح يحب بناء الأشياء والكتابة عن كل ما يتعلق بالتكنولوجيا. في أوقات فراغه ، يحب لعب الاسكواش ، وقراءة نسخة من أحدث موراكامي ، ومطاردة التنانين في Skyrim.

المزيد من Yash Chellani

اشترك في نشرتنا الإخبارية

انضم إلى النشرة الإخبارية لدينا للحصول على نصائح تقنية ومراجعات وكتب إلكترونية مجانية وصفقات حصرية!

انقر هنا للاشتراك