سؤال

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

هذا هو الوضع:

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

ماذا فعلت:

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

ماذا حدث:

عندما أقوم "بتنظيف وبناء" ، يبني المشروع بنجاح. عندما أقوم بـ "تشغيل المشروع الرئيسي" ، أحصل على الخطأ التالي:

java.lang.NoClassDefFoundError: WarMachine
Caused by: java.lang.ClassNotFoundException: WarMachine
...stack trace
Could not find the main class: WarMachine. Program will exit.

لقد راجعت ملف .jar وأرى أن جميع ملفات .class المترجمة موجودة ، بما في ذلك الفئة الرئيسية (تسمى warmachine.class). جميع ملفات .class موجودة في دليل يسمى الجهاز (كان اسم الحزمة الذي كان لدي NetBeans Refactor كل شيء فيه).

من ما تمكنت من العثور عليه على الإنترنت ، فإن المشكلة هي أن ملف ManySest.mf لا يشير إلى الموقع الصحيح لملف Warmachine.class.

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

شكرا على وقتك!

هل كانت مفيدة؟

المحلول

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

سيكون لديك الآن مربع نص "فئة رئيسية" على اليمين. انقر فوق "تصفح" وحدد الفصل الرئيسي الخاص بك. يجب على NetBeans إصلاح ملف البيان لك.

Run properties screenshot

في حال كنت فضوليًا ، يجب أن يحتوي ملفك البياني داخل ملف .jar من مجلد Dist على سطر مثل هذا:

Main-Class: Machine.WarMachine

جانبا ، تعتبر ممارسة قياسية استخدام الأحرف الصغيرة لأسماء الحزم. يجب عليك الاتصال بطردك machine.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top