'অবশ্যই একটি সুপারক্র্লাস পদ্ধতিকে ওভাররাইড করতে হবে' গ্রহনটিতে কোনও প্রকল্প আমদানির পরে ত্রুটিগুলি


1249

যে কোনও সময় আমাকে আমার প্রকল্পগুলি পুনরায় আমদানি করতে হবে Eclipse- এ (যদি আমি Eclipse পুনরায় ইনস্টল করি, বা প্রকল্পগুলির অবস্থান পরিবর্তন করি), আমার প্রায় সমস্ত ওভাররাইড করা পদ্ধতি সঠিকভাবে ফর্ম্যাট করা হয়নি, ত্রুটির কারণ:

পদ্ধতিটি অবশ্যই একটি সুপারক্লাস পদ্ধতিকে ওভাররাইড করতে হবে

এটি উল্লেখ করার মতো হতে পারে যে কোনও কারণেই অ্যান্ড্রয়েড প্রকল্পগুলির সাথে রয়েছে, পদ্ধতির যুক্তির মানগুলি সর্বদা পপুলেটেড হয় না, তাই আমাকে নিজেই সেগুলিকে পপুলেট করতে হবে। এই ক্ষেত্রে:

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) {
    }

});

অদ্ভুত বিষয়টি হ'ল, আমি যদি আমার কোডটি সরিয়ে ফেলি এবং যদি গ্রহনটি স্বয়ংক্রিয়ভাবে পদ্ধতিটি পুনরায় তৈরি করে তবে এটি আমার কাছে ইতিমধ্যে একই যুক্তির নাম ব্যবহার করে, তাই সমস্যাটি কোথায় তা আমি সত্যিই জানি না, অন্যথায় এটি পদ্ধতিটির জন্য স্বয়ংক্রিয়-বিন্যাসকরণ করছে আমাকে.

হাতছাড়া করে আমার সমস্ত ওভাররাইড করা পদ্ধতিগুলি ম্যানুয়ালি পুনরায় তৈরি করা এটি বেশ ব্যথা হয়ে ওঠে। এটি কেন হয় বা কীভাবে এটি ঠিক করা যায় তা যদি কেউ ব্যাখ্যা করতে পারেন। আমি খুব খুশি হব.

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


1
দয়া করে এই আইটেমটি পরীক্ষা করুন, এটি ওভাররাইডের ব্যবহার ব্যাখ্যা করে। আমি বিশ্বাস করি যে এই অনুশীলনটি বিশেষত এই পরিস্থিতির জন্যই নয়, সমস্ত কিছুর জন্য অত্যন্ত গুরুত্বপূর্ণ। stackoverflow.com/questions/94361/...
oagostinho

উত্তর:


1432

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

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


35
আমার প্রকল্পটি 1.6 এ সেট করা হয়েছিল, তাই আমি তারকাদের জন্য শুটিং করেছি এবং এটি 1.5 এ সেট করেছি, পুনর্নির্মাণ করেছি, তারপরে আবার 1.6 এ ফিরে আসছি। অলৌকিকভাবে এটি আমার সমস্যা সমাধান করেছে। আমাকে সঠিক দিকে নির্দেশ করার জন্য ধন্যবাদ!
মাইকেল ক্রাকলিস

6
একই সমস্যা থাকা ... এই উত্তরে প্রদত্ত পরামর্শ চেষ্টা করেও এখনও সফল হয়নি। :( :(
আদিত্য_গৌড়

6
@ মিশেল ক্রুকলিস আমি ১.6 এবং আমি এই সমস্যাটি নিয়ে আসছি। আমি 1.5 এ সেট করেছি এবং এটি পরিষ্কার করে আবার 1.6 এ সেট করে আবার পরিষ্কার করেছি। তবুও সমাধান হয়নি। কোন ধারনা?
পেসারিয়ার

6
এখানে একই সমস্যা, আমার ক্ষেত্রে, আমি জেডিকে 1.6 ইনস্টল করিনি, কেবলমাত্র সর্বশেষ 1.7, যা সম্ভবত অ্যান্ড্রয়েডের সাথে কাজ করে না। পুরানো 1.6 ইনস্টল করা এবং তারপরে এই নির্দেশাবলী অনুসরণ করে কাজ করা উচিত :)
NoBugs

4
এটি উল্লেখ করা উচিত (অন্যান্য উত্তরের মন্তব্যে যেমন) একটি পুনর্সূচনা করার পরে একটি পরিষ্কার বিল্ড প্রায়শই প্রয়োজন।
gsingh2011

308

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

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

এই বাইজেন্টাইন মেনু / ডায়লগ ইন্টারফেসটি গ্রহটির দুর্বল ইউআই ডিজাইনের আদর্শ।


78

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

আমার জন্য, কোনও প্রকল্প> ক্লিন করার পরেও গ্রহটি কোনওভাবে সংকলনের ত্রুটিগুলি 'ক্যাশেড' করে ...

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

এছাড়াও যখন সন্দেহ হয় তখনই গ্রহনটি পুনরায় চালু করার চেষ্টা করুন । এটি অনেকগুলি বিশ্রী, অবর্ণনীয় ত্রুটিগুলি ঠিক করতে পারে।


4
আমি কেবল এটিই করিনি, তবে ক্লিন ডায়ালগটিতে "স্বয়ংক্রিয়ভাবে একটি বিল্ড শুরু করুন" চেক করা হয়নি। তবেই এটি আমার পক্ষে কাজ করেছিল।
উইলারসন

3
ত্রুটিগুলি মুছে ফেলার পরেও আমাকে গ্রহনটি পুনরায় চালু করতে হয়েছিল।
ডেভ ক্যামেরন

42

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


22

পলের উত্তর আমার পক্ষে আংশিকভাবে কাজ করেছিল। আমার তখনও একটি ত্রুটি ছিল। সুতরাং, এগুলি ছাড়াও, আমাকে প্রোপার্টি-> প্রকল্পের দিকগুলিও যেতে হয়েছিল এবং সেখানে জাভা সংস্করণটি 1.5 থেকে 1.6 এ সেট করে।

সম্ভবত এটি সাহায্য করে।


14

আমার ক্ষেত্রে ছেলেরা উপরের সমাধানগুলির কোনওটিই কাজ করে না।

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

  • .project
  • .classpath

এবং ফোল্ডার:

  • .সেটিংস

তারপরে আমি একইরকম একটি প্রকল্প যা এর আগে কাজ করছিল সেগুলি থেকে অনুলিপি করেছি। এটি আমার ভাঙা প্রকল্পটি ঠিক করতে সক্ষম হয়েছিল।

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


14

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

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

প্রকল্প -> পথ তৈরি করুন -> গ্রন্থাগারগুলি

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

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


2
আমি "এক্সিকিউশন এনভায়রনমেন্ট" নির্বাচন করে তারপরে ওকে চাপলাম এবং ত্রুটিটি চলে গেল। তারপরে আমি আবার এই একই কথোপকথনে ফিরে এসে "ওয়ার্কস্পেস ডিফল্ট জেআরই (...)" নির্বাচন করেছি, যা আমার পূর্ববর্তী নির্বাচন ছিল যখন আমি যখন গ্রহপ থেকে ত্রুটি পেয়েছিলাম তখন ঠিক আছে, এবং ত্রুটিটি ঘটেছিল না?!? এটি অবশ্যই একটি Elpipse UI বাগ বা এর মতো কিছু হতে পারে (আমি
Elpipse

11

এটি আমার দ্বিতীয়বার এই সমস্যার মুখোমুখি। আলফাজেরোর প্রস্তাব অনুযায়ী প্রথমবার এটি কাজ করেছিল। তবে দ্বিতীয়বার আমি 1.6 এ সেট করেছিলাম এটি পরিষ্কার এবং পুনর্নির্মাণের পরে এই ত্রুটিটি 'ক্যাচ' এর মতো কাজ করে না।

রোলিন_-বলে যেমন 'বিল্ড অটোমেটিক' রয়েছে তা বন্ধ করার চেষ্টা করুন -> ত্রুটি এখনও এখানে রয়েছে!

তাই আমি প্যাকেজ এক্সপ্লোরার থেকে সমস্যা প্রকল্পটি (ইতিমধ্যে 1.6 তে সেট করা) সরিয়ে নিয়েছি এবং আবার এটি আমদানি করেছি -> এটি পুনর্নির্মাণ শুরু করে এবং এবার কোনও ত্রুটি নেই

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


10

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

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

10

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

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

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

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


ধন্যবাদ, আমি অনুমান করি এটি প্যারেন্ট পম কনফিগারেশন বা অন্য কোনও কিছুকে ওভাররাইড করে। (আমি অন্যভাবে সমস্যাটিকে বিজ্ঞাপন হিসাবে দেখছি, গ্রহন থেকে কোনও সমস্যা নেই, তবে ম্যাভেনের সংকলক আমাকে "অবশ্যই ওভাররাইড করতে হবে" ইত্যাদি ছুঁড়ে ফেলেছে)
আসৌব

6

আমার ক্ষেত্রে, উপরের সমাধানগুলির কোনওটিই কাজ করে না। আমাকে অন্য উত্সটিতে আমার উত্স কোডটি চেকআউট করতে হবে। গ্রহন থেকে ফাইল> সুইচ ওয়ার্কস্পেস> অন্যান্য ... নির্বাচন করুন এবং তারপরে নতুন কর্মক্ষেত্রগুলিতে কোড আমদানি করুন। এটি তার পরে কাজ করে।


2

আপনার মেভেন প্রকল্পটি যখন বিভিন্ন সংকলক কমপ্লায়েন্স স্তর ব্যবহার করে এবং এক্লিপস আইডিই বিভিন্ন সংকলক কমপ্লায়েন্স স্তর ব্যবহার করে তখন এটি ঘটে। এটি ঠিক করার জন্য আমাদের ম্যাভেন প্রকল্পের সংকলক সম্মতি স্তরটি আইডিই ব্যবহারের স্তরে পরিবর্তন করতে হবে।

1) Eclipse IDE তে জাভা সংকলক সম্মতি স্তরের ব্যবহারগুলি দেখতে

*) উইন্ডো -> পছন্দসমূহ -> সংকলক -> সংকলক সম্মতি স্তর: 1.8 (বা 1.7, 1.6%, ect)

2) মাভেন প্রকল্পের জাভা সংকলক কমপ্লায়েন্স স্তর পরিবর্তন করতে

*) "প্রকল্প" -> "সম্পত্তি" -> "জাভা সংকলক" নির্বাচন করুন -> সংকলক সম্মতি স্তর পরিবর্তন করুন: 1.8 (বা 1.7, 1.6%, ect)

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.