আমি গ্রহনে একটি ত্রুটি পেয়েছি। এই ত্রুটি বার্তার অর্থ কী:
Iglu.ir.TerVector টাইপটি সমাধান করা যায় না। এটি অপ্রত্যক্ষভাবে প্রয়োজনীয়। ক্লাস ফাইলগুলি থেকে রেফারেন্স করা হয়
আমি গ্রহনে একটি ত্রুটি পেয়েছি। এই ত্রুটি বার্তার অর্থ কী:
Iglu.ir.TerVector টাইপটি সমাধান করা যায় না। এটি অপ্রত্যক্ষভাবে প্রয়োজনীয়। ক্লাস ফাইলগুলি থেকে রেফারেন্স করা হয়
উত্তর:
এর অর্থ হল: "আপনি যে ক্লাসটি ব্যবহার করেন তার অন্য শ্রেণীর প্রয়োজন যা ক্লাসপাথে নেই" " ক্লাসপথে প্রয়োজনীয় জার যোগ করার জন্য আপনার নিশ্চিত হওয়া উচিত (হ্যারি জয়ের পরামর্শ অনুসারে)।
এটি সম্ভবত একটি বাস্তব ত্রুটি হিসাবেই গ্রহগ্রহের বিভ্রান্ত হওয়ার বিষয়টি সম্ভবত ঘটেছে। আমি ত্রুটিটিকে উপেক্ষা করে ওয়েব সার্ভিসটি চালিয়েছি যার শেষ পয়েন্টটি এটি সম্পর্কে অভিযোগ করেছে এবং এটি যতদূর ভাল হয়েছে, প্রতিবারই যখন আমি এটি চালাতে চেয়েছিলাম তখন ডায়ালগটি মোকাবেলা করা ছাড়া। আর একটি অস্বচ্ছ ত্রুটি যা আমাকে কিছুই বলে না।
আমার সাথে এটি কখনও কখনও ঘটে থাকে, আমি সর্বদা পুরানো বৈশিষ্ট্য পরিষ্কার করার জন্য "এমভিএন ইক্লিপস: ক্লিন" কমান্ড দিয়ে স্থির করেছিলাম এবং এমভিএন গ্রহনটি চালনা করি: গ্রহনটি -ডব্লিটপার্শন = ২.০ (অবশ্যই ওয়েব প্রকল্পের জন্য)। কিছু পুরানো বৈশিষ্ট্য সংরক্ষণ করা হয়েছে তাই গ্রহন কখনও কখনও বিভ্রান্ত হয়।
mvn eclipse:clean
এবং / অথবা এমভিএন eclipse:eclipse
এটিকে কাজ করার জন্য যাদু কৌশল বলে মনে হচ্ছে।
দূষিত স্থানীয় মাভেন সংগ্রহস্থলের কারণে আমার এই ত্রুটি হয়েছিল ।
সুতরাং, সমস্যাটি সমাধান করার জন্য, আমাকে যা করতে হয়েছিল তা হ'ল আমার সংগ্রহশালায় গিয়ে ফোল্ডারটি মুছে ফেলা হয়েছিল যেখানে সম্পর্কিত .jar ছিল, তারপরেই একটি জোরপূর্বক একটিগ্রহে update maven
বসানো উচিত।
মনে হচ্ছে এটি একটি পরিচিত সমস্যা (বাগ 67414) হয়ে গেছে যা 3.0 এ সমাধান করা হয়েছিল ... কেউ মন্তব্য করেছেন যে এটি তাদের জন্য 3.4-তেও ঘটছে।
মাঝামাঝি সময়ে, কাজটি হচ্ছে প্রকল্প থেকে জেআরই সিস্টেম লাইব্রেরিটি সরিয়ে আবার এটি আবার যুক্ত করা।
Here are the steps:
বিল্ড ত্রুটি সহ প্রকল্পের বৈশিষ্ট্যগুলিতে যান (ডান ক্লিক করুন> বৈশিষ্ট্য)
"নির্মাণের পথ" বিভাগে "গ্রন্থাগারগুলি" ট্যাবটি দেখুন
তালিকায় "জেআরই সিস্টেম লাইব্রেরি" সন্ধান করুন (এটি যদি অনুপস্থিত থাকে তবে এই ত্রুটি বার্তাটি একটি গ্রিপ বাগ নয়, তবে একটি ভুল কনফিগার করা প্রকল্প)
"জেআরই সিস্টেম লাইব্রেরি" সরান
"লাইব্রেরি যুক্ত করুন ..." চাপুন, "জেআরই সিস্টেম লাইব্রেরি" নির্বাচন করুন এবং প্রকল্পের জন্য উপযুক্ত জেআরই যুক্ত করুন (উদাঃ 'ওয়ার্কস্পেসের ডিফল্ট জেআরই')
লাইব্রেরি নির্বাচনের "সমাপ্তি" এবং প্রকল্পের বৈশিষ্ট্যগুলিতে "ঠিক আছে" টিপুন এবং তারপরে প্রকল্পটির পুনর্নির্মাণের জন্য অপেক্ষা করুন
আশা করি ত্রুটিটি সমাধান হয়ে যাবে ...
জার ফাইলের ক্লাসগুলি যখন জারের ফোল্ডারের কাঠামোর মতো কাঠামো অনুসরণ করে না তখন এই ত্রুটি ঘটে থাকে ..
উদাহরণস্বরূপ, যদি আপনার ক্লাস ফাইলের প্যাকেজ com.test.exam থাকে এবং ক্লাস.জার এই ক্লাস ফাইলটি থেকে তৈরি করা হয় কাঠামোর টেস্ট.এক্সাম ... ত্রুটি নিক্ষেপ করা হবে। আপনার ক্লাস.জারের প্যাকেজ কাঠামোটি সংশোধন করতে হবে এবং তারপরে একে এক্সপ্লিপ বিল্ড পাথে অন্তর্ভুক্ত করুন ...
আমি এই ব্যতিক্রমটি পেয়েছি কারণ গ্রহপোকটি জেডিকে-র বিভিন্ন সংস্করণে কাজ করছিল, কেবলমাত্র সঠিক, পরিষ্কার এবং বিল্ড এ কাজ করেছে!
অ্যালিপিস ৪.৪.২ নিয়ে আমার এই সমস্যাটির একটি আকর্ষণীয় ঘটনা ছিল। আমার প্রকল্প (পি 1) একটি বহিরাগত শ্রেণি (প্রজেক্ট পি 2) একই নামের সাথে দুটি পদ্ধতির সাথে বিভিন্ন যুক্তির ধরণের উল্লেখ করেছে:
public static void setItem(Integer id) …
public static void setItem(Item item) …
প্রকারটি Item
তৃতীয় প্রকল্প পি 3-তে অন্তর্ভুক্ত ছিল, যা আমি এখানে দৃশ্যমান হতে চাই না। পি 1 কেবল প্রথম পদ্ধতি বলে:
ExternalClass.setItem(Integer.valueOf(12345));
সুতরাং দ্বিতীয় পদ্ধতিটি, যা Item
ক্লাস ব্যবহার করেছিল , ব্যবহৃত হয়নি, এবং এটি সত্য যে পি 3 সংকলন শ্রেণিপথে ছিল না - কেন এটি ব্যবহার না করা উচিত।
তবুও গ্রহ আমাকে বলেছিল
The type ...Item cannot be resolved.
It is indirectly referenced from required .class files
কমান্ড লাইন থেকে সংকলন করে এ জাতীয় সমস্যা তৈরি হয়নি। দ্বিতীয় পদ্ধতির নাম পরিবর্তন করা (এখানে অব্যবহৃত!) সমস্যাটিও Eclipse এ চলে গেছে।
এটা আমার জন্য কি স্থির ছিল right clicking on project > Maven > Update Project
আমি যখন কিছু কিছু এসএনএন সেটিংস পরিবর্তন করেছি তখন কোডটিতে কিছু না হলেও ত্রুটি পেয়েছি। প্রকল্পগুলি সাফ করার ফলে ত্রুটি ঠিক করা হয়েছে।
আমার ক্ষেত্রে, আমি একটি প্রকল্প তৈরি করেছি minSdkVersion=9
এবং এর এবং করেছি targetSdkVersion=17
। আমি স্বয়ংক্রিয়ভাবে উত্পন্ন ব্যবহার libs/android-support-v4.jar
। আমাকে ব্যবহারেরও ActionBarActivity
ব্যবহার করতে হয়েছিল android-support-v7-appcomapt.jar
। সুতরাং আমি কেবল android-support-v7-appcompat.jar
ফাইলটি android-sdk/extras/andrid/support/v7/appcompat/libs
ফোল্ডার থেকে অনুলিপি করেছি এবং এটি আমার প্রকল্প libs
ফোল্ডারে আটকিয়েছি । এবং এটি উপরের ত্রুটি ঘটায়। সুতরাং মূলত, আমার android-support-v4.jar
ফাইলটি android-sdk/extras/andrid/support/v7/appcompat/libs
আমার প্রজেক্ট libs
ফোল্ডারেও রাখা দরকার ছিল। আমার জ্ঞান অনুসারে v7.jar
ফাইলটির উপর v4.jar
ফাইলের নির্ভরতা ছিল । সুতরাং, এটির জন্য নিজের v4.jar
প্রকল্পের পরিবর্তে স্বয়ংক্রিয়ভাবে v4.jar
ফাইল তৈরি করা দরকার ।
দ্রুত এবং সহজভাবে আমি এটিকে এটি ঠিক করেছি (আমি ADT সংস্করণটি ব্যবহার করি: উইন্ডোজ এক্সপি হোম সংস্করণে v21.0.0-531062)
এটি কাজ করেছিল তবে সমস্যাটি কয়েক দিন পরে ফিরে আসে। আমি উপরের মতো একই জিনিস করি এটি সমাধান করে এবং আমাকে বিকাশ করতে দেয়।
কোনও শ্রেণি ফাইল হারিয়ে যাওয়ার ইতিমধ্যে প্রস্তাবিত কারণ ছাড়াও এই ত্রুটিটি সদৃশ শ্রেণীর ফাইলটিও নির্দেশ করতে পারে, যখন বিল্ড পাথের কোনও শ্রেণি ফাইল অন্য শ্রেণি ব্যবহার করে যার বিল্ড পাথের একাধিক সংজ্ঞা থাকে।
আপনি যেহেতু আমাদের খুব অল্প বিশদ বিবরণ দেন, সম্ভবত আপনি যা করেছিলেন তা হ'ল যা করা একটি অবিশ্বাস্যরকম সহজ ভুল, সেটিই কি শিরোনামের পরিবর্তে?
Build Path > Configure Build Path > Projects
এবং সেখান থেকে আপনার অতিরিক্ত প্রকল্প ফোল্ডার যুক্ত করে পরিবর্তে আপনি গিয়েছিলেন
Build Path > Configure Build Path > Libraries
এবং পরিবর্তে সেখান থেকে আপনার প্রকল্প ফোল্ডারটি যুক্ত করেছে।
আপনার কোডটি সমস্ত সঠিক থাকলে এটি অবশ্যই স্পষ্টভাবে ক্ষেত্রে তবে এর মাধ্যমে স্বয়ংক্রিয়ভাবে আমদানি পুনরায় সংগঠিত করার পরে ctrl+space
শর্টকাটের করার পরে com.your.additionalproject উল্লেখ করে আপনার আমদানি বিবৃতিগুলির পরিবর্তে আপনার রেফারেন্স বিন ডটকম.ইউর.এডিশনাল প্রজেক্টের দিকে নির্দেশ করে।
বিন নোট করুন। এর অর্থ এই যে আপনি অপ্রত্যক্ষভাবে আপনার অন্যান্য প্রকল্পের ফোল্ডার কাঠামোটিকে একটি গ্রন্থাগার হিসাবে বিবেচনা করে আপনার ক্লাসের উল্লেখ করছেন, আপনার আইডিই আপনি যে বাইনারি ক্লাসের উল্লেখ করছেন ঠিক তা আবিষ্কার করার সমস্ত প্রকারকে করছে।
এটি সংশোধন করার জন্য, গ্রন্থাগারগুলি থেকে ফোল্ডারটি সরিয়ে ফেলুন এবং এর পরিবর্তে এটি প্রকল্প ট্যাবের অধীনে যুক্ত করুন এবং আপনার আমদানি পুনরায় সংগঠিত করুন। আপনার প্রকল্পটি ভাল কাজ করা উচিত।
আমি যখন একটি নতুন গ্রহন সংস্করণ ব্যবহার করি এবং পূর্ববর্তী কর্মক্ষেত্রটি ব্যবহার করার চেষ্টা করি যা আমি পুরাতনগ্রহণের সংস্করণে ব্যবহার করি, তখন এই ত্রুটি ঘটেছে।
আমি কীভাবে সমস্যার সমাধান করব তা এখানে:
প্যাকেজ এক্সপ্লোরার -> সম্পত্তি -> জাভা বিল্ড পাথ -> গ্রন্থাগারগুলি -> আমার প্রকল্পটিতে ডান ক্লিক করুন আমি জেআরই সিস্টেম লাইব্রেরিতে একটি ত্রুটি (ক্রস সাইন) দেখতে পাচ্ছি। কারণ পথ খুঁজে পাওয়া যায় না। -> জেআরই সিস্টেম লাইব্রেরিতে ডাবল ক্লিক করুন -> "ওয়ার্কস্পেস ডিফল্ট জেআরই" বিকল্পটি নির্বাচন করুন -> সমাপ্ত -> ঠিক আছে। -> তবে এটি কাজ করছে
অবগতির জন্য।
আমার ক্ষেত্রে এটি আমার pom.xml
ফাইলে নতুন নির্ভরতা যুক্ত করার ফলাফল ছিল ।
নতুন নির্ভরতা কোনও লাইব্রেরির পুরানো সংস্করণের উপর নির্ভর করে (2.5)। আমার একই গ্রন্থাগারটি অন্য একটি গ্রন্থাগারের দ্বারা প্রয়োজনীয় ছিলpom.xml
, তবে এটির 3.0 সংস্করণ প্রয়োজন।
কোনও কারণে, মাভেন যখন এই দ্বন্দ্বগুলির মুখোমুখি হন তখন এটি কেবল সাম্প্রতিকতম সংস্করণটি বাদ দেয়। Eclipse এ দেখার সময় pom.xml
আপনি নির্ভরতাগুলি কীভাবে সমাধান করা হয় তা দেখতে নীচে "নির্ভরতা স্তরক্রম" ট্যাবটি নির্বাচন করতে পারেন। এখানে আপনি দেখতে পাবেন যে প্রশ্নে থাকা গ্রন্থাগারটি (এবং এভাবে শ্রেণিবদ্ধ) এই কারণে বাদ দেওয়া হয়েছে কিনা।
আমার ক্ষেত্রে এটি নতুন সংস্করণটি লক করার মতোই সহজ ছিল। আপনি এন্ট্রিটিতে ডান-ক্লিক করে এটি করতে পারেন - প্রসঙ্গ মেনুতে এটি লক করার একটি বিকল্প রয়েছে।
একটি জেডিকে প্রেরণে জেআরই নির্দেশ করুন। এটা আমার জন্য কাজ করেছে।