logo

لا توجد سمة البيان الرئيسية

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

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

 Unable to execute jar- file: 'no main manifest attribute.' 

تم طرح رسالة الخطأ أعلاه بسبب فقدان إدخال الفئة الرئيسية في ملف MANIFEST.MF.

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

حل:

دعونا نفهم حلولها في مشاريع مختلفة:

مخضرم

في مخضرم Project، قد تواجه هذه المشكلة بسبب الإدخال المفقود للفئة الرئيسية في ملف MANIFEST.MF. للتغلب على هذه المشكلة، يمكننا تعريفها في ملف pom.xml الخاص بنا عن طريق وضع ملف maven-jar-plugin في بوم.xml.

 org.apache.maven.plugins maven-jar-plugin 3.1.0 com.javatpoint.AppMain 

في الكود أعلاه، com.javatpoint.AppMain هو اسمنا المؤهل بالكامل للفئة الرئيسية. يجب عليك استبدال الاسم المؤهل بالكامل وفقًا لمسار الفصل الخاص بك. لنسخ الاسم المؤهل بالكامل، انقر بزر الماوس الأيمن على الحزمة التي تحتوي على الفئة الرئيسية وحددها انسخ الاسم المؤهل بالكامل .

جرادل

إذا كنت تتلقى هذا الخطأ في مشروع Gradle الخاص بك، فيمكنك حل هذه المشكلة عن طريق وضع الإدخالات التالية في ملف build.gradle ملف:

 plugins { id 'java' } jar { manifest { attributes( 'Main-Class': 'com.javatpoint.AppMain' ) } } 

تطبيق التمهيد الربيع

في بعض الأحيان قد يتم مواجهة هذا الخطأ في ملفك التمهيد الربيع مشروع. من السهل حل هذا الخطأ في مشروع Spring Boot. لإصلاح هذا الخطأ في مشروع SB، ضع تبعية maven-plugin ضمن العلامة في ملف pom.xml.

 org.springframework.boot spring-boot-maven-plugin 4.0.1 

السبب الجذري لخطأ عدم وجود سمة بيان رئيسية

عادةً ما يحدث 'لا يوجد خطأ رئيسي في البيان' إذا أخطأت في ملف MANIFEST.MF الموجود ضمن مجلد META-INF. بشكل افتراضي، يحتوي على الإدخال التالي:

 Manifest-Version: 1.0 Built-By: alien Build-Jdk: 1.8.0 Created-By: Maven Integration for Eclipse 

أين،

نسخة البيان هو إصدار ملف البيان.

بنيت بواسطة هو اسم جهاز الكمبيوتر الخاص بك.

بناء-Jdk هو إصدار JDK المثبت على جهازك.

انشأ من قبل هو اسم البرنامج المساعد المستخدم في IDE.

عندما نقوم بتشغيل المشروع، فإنه سيبحث عن الفئة الرئيسية في ملف MANIFEST.MF. سوف تظهر رسالة الخطأ 'غير قادر على تنفيذ ملف jar' إذا لم يعثر على الإدخال. عندما نقوم بتشغيل الحلول المذكورة أعلاه، سيتم تحديث إدخال الفئة تلقائيًا في ملف البيان الخاص بالمشروع كما يلي:

 Manifest-Version: 1.0 Built-By: alien Build-Jdk: 1.8.0 Created-By: Maven Integration for Eclipse Main-Class: com.javatpoint.AppMain