java - Eclipse এ একটি প্রকল্প আমদানি করার পরে 'একটি সুপারক্লাস মেথডকে ওভাররাইড করতে হবে' ত্রুটি




android override (8)

যেকোনো সময় আমাকে আমার প্রকল্পগুলিকে 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 স্বয়ংক্রিয়ভাবে পদ্ধতিটি পুনরায় তৈরি করে তবে এটি একই আর্গুমেন্ট নামগুলি ব্যবহার করে যা আমি ইতিমধ্যে পেয়েছি, তাই সমস্যাটি আসলে কোথায় তা আমি জানি না, অন্যথায় এটির জন্য পদ্ধতিটি স্বয়ংক্রিয়ভাবে বিন্যাস করা হচ্ছে আমাকে.

এই হাত দ্বারা সব আমার overridden পদ্ধতি ম্যানুয়ালি পুনরায় recreating বেশ ব্যথা হয়ে ওঠে। যদি কেউ এটা ঘটতে পারে বা এটি ঠিক করতে পারে কেন ব্যাখ্যা করতে পারে .. আমি খুব খুশি হবে।

হতে পারে এই পদ্ধতির কারণে আমি পদ্ধতিগুলি ফরম্যাট করছি, যা অন্য পদ্ধতির একটি আর্গুমেন্টের ভিতরে?


Eclipse জাভা 1.5 তে ডিফল্ট হচ্ছে এবং আপনার ইন্টারফেস পদ্ধতিগুলি প্রয়োগ করার ক্লাসগুলি রয়েছে (যা জাভা 1.6 এ @Override ওভার্রাইডের সাথে @Override করা যেতে পারে, তবে জাভা 1.5 তে শুধুমাত্র সুপারক্লাস পদ্ধতির উপরোক্ত পদ্ধতিতে প্রয়োগ করা যেতে পারে)।

আপনার প্রোজেক্ট / আইডিই পছন্দগুলিতে যান এবং জাভা কম্পাইলার লেভেলকে 1.6 এ সেট করুন এবং আপনার প্রোগ্রামটি ইক্লিপসে চালানোর জন্য JRE 1.6 নির্বাচন করুন।


আমার ক্ষেত্রে এই সমস্যাটি ঘটেছিল যখন আমি ইক্লিপসে একটি মেনন প্রকল্প আমদানি করেছিলাম। এটি সমাধানের জন্য, আমি pom.xml এ নিম্নলিখিতটি যোগ pom.xml :

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

তারপর প্রকল্পের প্রসঙ্গ মেনুতে, "মেনেন -> আপডেট প্রকল্প ..." এ যান, এবং ঠিক আছে টিপুন।

এটাই. আশাকরি এটা সাহায্য করবে.


আমার মামলায় বন্ধুরা উপরের কোন সমাধান কাজ করেনি।

প্রকল্প কার্যক্ষেত্রের মধ্যে ফাইলগুলি মুছতে হয়েছিল:

  • .project
  • .classpath

এবং ফোল্ডার:

  • .সেটিংস

তারপরে আমি এমন একই প্রকল্প থেকে কপি করেছি যা আগে কাজ করছে। এই আমার ভাঙা প্রকল্প ঠিক করতে পরিচালিত।

অবশ্যই আগের বিকল্প চেষ্টা করার আগে এই পদ্ধতি ব্যবহার করবেন না!


উপরের কোনটি যদি সাহায্য করে না তবে নিশ্চিত করুন যে আপনার সঠিক " নির্বাহ পরিবেশ " নির্বাচন করা হয়েছে এবং "বিকল্প JRE" নয়।

অধীনে পাওয়া যাবে:

প্রকল্প -> পাথ তৈরি করুন -> লাইব্রেরি

JRE System Library নির্বাচন করুন এবং Edit... ক্লিক Edit...

যদি "বিকল্প JRE ..." নির্বাচন করা হয় তবে এটি JavaSE-1.8 (jre1.8.0_60) মত একটি উপযুক্ত "এক্সিকিউশন এনভায়রনমেন্ট" তে পরিবর্তন করুন। কোন ধারণা কেন, কিন্তু এই সমাধান হবে।


এই ক্ষেত্রে যদি আলফাজারো এবং পল এর পদ্ধতি উভয়ই চেষ্টা করে তবেও এটি কাজ করে না।

আমার জন্য, কোনও প্রজেক্ট করার পরেও কম্পাইল ত্রুটিগুলি 'ক্যাশেড' উপভোগ করুন> পরিচ্ছন্ন ...

আমাকে প্রকল্পটি অনির্বাচিত করতে হবে> স্বয়ংক্রিয়ভাবে বিল্ড করুন, তারপরে একটি প্রকল্প> পরিচ্ছন্ন করুন, এবং তারপরে আবার বিল্ড করুন।

এছাড়াও, যখন সন্দেহ হয়, Eclipse পুনরায় আরম্ভ করার চেষ্টা করুন । এটি অযৌক্তিক, অজ্ঞাত ত্রুটিগুলির সমাধান করতে পারে।


এই সমস্যাটি সমাধানের জন্য, আপনার প্রোজেক্ট প্রোপার্টিগুলিতে যান -> জাভা কম্পাইলার -> 1.6 এ কম্পাইলার সম্মতি স্তর নির্বাচন করুন-> প্রয়োগ করুন।


ফিক্সিং অবশ্যই একটি সুপার বর্গ পদ্ধতির ত্রুটিকে ওভাররাইড করা কঠিন নয়, আপনাকে জাভা উত্স সংস্করণটি 1.6 তে পরিবর্তন করতে হবে কারণ জাভা 1.6 থেকে @ ওভার্রাইড টীকাটি ইন্টারফেস পদ্ধতির সাথে ব্যবহার করা যেতে পারে। নিম্নোক্ত পদক্ষেপগুলি অনুসরণ করতে 1.6 সংস্করণটি পরিবর্তন করার জন্য:

  1. প্রকল্প নির্বাচন করুন, ডান ক্লিক করুন, বৈশিষ্ট্য
  2. জাভা কম্পাইলার নির্বাচন করুন এবং চেক বক্স চেক করুন "প্রকল্প নির্দিষ্ট সেটিংস সক্ষম করুন"
  3. এখন কম্পাইলার সম্মতি স্তর 1.6 করতে
  4. পরিবর্তনগুলি প্রয়োগ

Eclipse Galileo দিয়ে আপনি Eclipse এ যান -> পছন্দসই মেনু আইটেম, তারপরে ডায়ালগে জাভা এবং কম্পাইলার নির্বাচন করুন।

এখন এটি এখনও 1.6 এ কম্পাইলার সম্মতি স্তর প্রদর্শন করতে পারে, তবে আপনি এখনও এই সমস্যাটি দেখেন। তাই এখন লিঙ্কটি নির্বাচন করুন " প্রকল্প নির্দিষ্ট সেটিংস কনফিগার করুন ... " এবং সেখানে আপনি দেখতে পাবেন প্রকল্পটি 1.5 এ সেট করা হয়েছে, এখন এটি 1.6 এ পরিবর্তন করুন। আপনি সব প্রভাবিত প্রকল্পের জন্য এটি করতে হবে।

এই বাইজেন্টাইন মেনু / ডায়লগ ইন্টারফেস ইকলিপ্সের দরিদ্র UI ডিজাইনের বৈশিষ্ট্য।





superclass