java - يجب تجاوز أخطاء أسلوب "الطبقة العليا" بعد استيراد مشروع إلى Eclipse




android override (8)

إجابة بول عملت معي جزئيا. كان لا يزال لدي خطأ واحد ثم. لذا ، بالإضافة إلى ذلك ، كان عليّ أيضاً الذهاب إلى Properties-> Project Facets وهناك ضبط إصدار Java من 1.5 إلى 1.6.

ربما هذا يساعد.

في أي وقت لا بد لي من إعادة استيراد المشاريع الخاصة بي إلى Eclipse (إذا قمت بإعادة تثبيت Eclipse ، أو تغيير موقع المشاريع) ، لا يتم تنسيق جميع الأساليب التي تم تجاوزها بشكل صحيح تقريبًا ، مما يتسبب في حدوث خطأ The method must override a superclass method .

قد يكون من الجدير بالذكر أن هذا الأمر يتعلق بمشاريع Android - لأي سبب من الأسباب ، لا يتم ملء قيم الوسيطة في الأسلوب دائمًا ، لذلك يجب أن أقوم بملئها يدويًا بنفسي. على سبيل المثال:

list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {

    //These arguments have their correct names
    public void onCreateContextMenu(ContextMenu menu, View v, 
                                    ContextMenuInfo menuInfo) {                 
    }

});

سيتم نشره مبدئيًا كما يلي:

list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {

    //This methods arguments were not automatically provided    
    public void onCreateContextMenu(ContextMenu arg1, View arg2,
                                    ContextMenuInfo arg3) {
    }

});

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

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

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


إذا لم يساعدك شيء مما سبق ، تأكد من تحديد " بيئة تنفيذ " مناسبة ، وليس "JRE بديل".

يمكن العثور عليه تحت:

المشروع -> مسار البناء -> المكتبات

حدد JRE System Library وانقر فوق Edit...

إذا تم تحديد "البديل JRE ..." ، قم بتغييره إلى "بيئة التنفيذ" JavaSE-1.8 (jre1.8.0_60) مثل JavaSE-1.8 (jre1.8.0_60) . لا فكرة لماذا ، ولكن هذا سوف يحلها.


التثبيت يجب أن يتخطى خطأ من فئة الدرجة الفائقة ليس بالأمر الصعب ، ما عليك سوى تغيير إصدار Java المصدر إلى 1.6 لأنه يمكن استخدام التعليق التوضيحي من Java 1.6Override مع طريقة الواجهة. لتغيير إصدار المصدر إلى 1.6 ، اتبع الخطوات التالية:

  1. حدد المشروع ، انقر بزر الماوس الأيمن ، خصائص
  2. حدد Java Compiler وتحقق من خانة الاختيار "تمكين إعدادات محددة للمشروع"
  3. الآن جعل مستوى الامتثال مترجم إلى 1.6
  4. تطبيق التغييرات

الرجال في حالتي لا شيء من الحلول أعلاه عملت.

اضطررت إلى حذف الملفات داخل مساحة عمل المشروع:

  • .مشروع
  • .classpath

والمجلد:

  • .إعدادات

ثم قمت بنسخ تلك من مشروع مماثل كان يعمل من قبل. تمكن هذا من إصلاح مشروعي المكسور.

بالطبع لا تستخدم هذه الطريقة قبل تجربة البدائل السابقة !.


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


في حالتي حدثت هذه المشكلة عندما استوردت مشروع Maven إلى Eclipse. لحل هذه المشكلة ، أضفت ما يلي في pom.xml :

<properties>
   ...
   <maven.compiler.source>1.8</maven.compiler.source>
   <maven.compiler.target>1.8</maven.compiler.target>
</properties>

ثم في قائمة السياق الخاصة بالمشروع ، انتقل إلى "Maven -> Update Project ..." ، ثم اضغط على OK.

هذا هو. أتمنى أن يساعدك هذا.


مع Eclipse Galileo ، انتقل إلى Eclipse -> Preferences ، ثم حدد Java و Compiler في مربع الحوار.

الآن لا يزال بإمكانك إظهار مستوى امتثال المترجم عند 1.6 ، ومع ذلك لا تزال ترى هذه المشكلة. اختر الآن الرابط " تكوين إعدادات محددة للمشروع ... " وفيه سترى أن المشروع قد تم تعيينه إلى 1.5 ، والآن غيّر هذا إلى 1.6. ستحتاج إلى القيام بذلك لجميع المشاريع المتأثرة.

هذه الواجهة القائمة / الحوار البيزنطي هي نموذجية لتصميم واجهة المستخدم الضعيفة في Eclipse.


هذه هي المرة الثانية التي أواجه فيها هذه المشكلة. أول مرة وفقا لتوصية alphazero أنها عملت. ولكن في المرة الثانية التي أقوم بتعيينها إلى 1.6 لا تعمل مثل "CACHE" هذا الخطأ بعد التنظيف وإعادة البناء.

حاول إيقاف تشغيل 'Build Automatically' كما قال Rollin_s -> error still here!

لذا قمت بإزالة مشروع المشكلة (الذي تم ضبطه بالفعل إلى 1.6) من Package Explorer واستيراده مرة أخرى -> بدء إعادة البناء وعدم وجود خطأ هذه المرة

آمل أن يساعد هذا شخص ما







superclass