ঘোষিত প্যাকেজটি প্রত্যাশিত প্যাকেজটির সাথে মেলে না "


91

আমি Eclipse ব্যবহার করছি এবং কিছু সময়ের জন্য জাভা ব্যবহার করিনি। যাইহোক, আমি কমান্ড-লাইনে আমার কোডটি ঠিক ঠিক জরিমানা করতে এবং প্রয়োজনীয় .classফাইলগুলি তৈরি করতে পারি। ইক্লিপসে, এটি অভিযোগ করে The declared package "Devices" does not match the expected package ""। এর অর্থ কী এবং আমি কীভাবে এটি ঠিক করতে পারি?

কোডের উদাহরণ:

package Devices;

public final class DevFrequency 
{
    public short messageID;
    public double frequency;
    public short converterID;
    public DevFrequency() 
    {
    }
    public DevFrequency(short _messageID,double _frequency,short _converterID)
    {
        messageID = _messageID;
        frequency = _frequency;
        converterID = _converterID;
    }
}

আমার প্রকল্পের নাম DeviceDDS


4
এই ক্লাস /src/Convertersডিরেক্টরিতে আছে?
জেরেমি

7
যদি আপনি নিজের প্রশ্নটি পূর্ববর্তীভাবে পরিবর্তন করতে চলেছেন (যা অর্থহীন বলে মনে হয়, সত্য বলতে) আপনার এ সম্পর্কে সামঞ্জস্যপূর্ণ হওয়া দরকার - আপনি প্রশ্নের প্রথম অনুচ্ছেদটি সম্পাদনা করেননি। আপনি সমস্ত মন্তব্যকে বিজোড় দেখাচ্ছে। কেন প্রায় দেড় বছর পরে সবকিছু পরিবর্তন?
জন স্কিটি

উত্তর:


52

Eclipse প্রত্যাশিত প্যাকেজটি ডিরেক্টরি শ্রেণিবিন্যাসের সাথে মিলবে বলে আশা করে - সুতরাং এটি আপনার জাভা ফাইলটি আপনার উত্সের মূলের অধীনে "ডিভাইসস" নামে একটি ডিরেক্টরিতে থাকবে বলে আশা করছে ing এই মুহুর্তে দেখে মনে হচ্ছে ফাইলটি সরাসরি আপনার উত্সের মূলের মধ্যে রয়েছে। সুতরাং উপযুক্ত ডিরেক্টরি তৈরি করুন এবং সেখানে ফাইলটি সরান।

নোট করুন যে প্রচলিতভাবে, প্যাকেজগুলি ছোট আকারের হয় এবং আপনার সংস্থার নামটি বিপরীত ডিএনএস ক্রমে অন্তর্ভুক্ত করে, যেমন

com.foo.devices;

4
@ শক্তি: আমি যতদূর জানি সচেতন আপনি পারবেন না, এবং আমি আপনাকে দৃ .়ভাবে পরামর্শ দিচ্ছি যদি আপনি না পারেন তবেও। সমস্ত অভিজ্ঞ জাভা বিকাশকারীরা আশা করবেন যে আপনি সাধারণ সম্মেলনগুলি অনুসরণ করেন।
জন স্কিটি

90

ফাইলটি বন্ধ করে পুনরায় খোলার চেষ্টা করুন।

যখন ফাইলের অবস্থান বা প্যাকেজ ঘোষণার সাথে একেবারে ভুল কিছু না হয় তখন এই ত্রুটিটি গ্রহনে পাওয়া সম্ভব। এই অন্যান্য সমাধানগুলি চেষ্টা করে অনেক বেশি সময় ব্যয় করার আগে চেষ্টা করুন। কখনও কখনও স্রেফ গ্রহণটি বিভ্রান্ত হয়। এটি আমার জন্য বেশ কয়েকটি অনুষ্ঠানে কাজ করেছে। আমি ক্রেডিট ধারণা করতে জশুয়া গোল্ডবার্গ


4
ভিএস কোডের অভ্যন্তরে গ্রেডল প্রকল্পে এই সমস্যা ছিল। এটি পুনরায় খুলুন স্থির।
টেস্টিওয়েট

4
গ্রহন সম্পাদক এ ফাইলটি খুলতে এবং বন্ধ করা সমস্যার সমাধান করতে সহায়তা করে। আমি জাভা কনফিগারেশন বিল্ড - উত্স ট্যাবে একটি উত্স ফোল্ডার যুক্ত করেছি, ত্রুটিটি সরানো হয়নি, তবে আমি যখন গ্রীকটিতে সম্পাদকটি বন্ধ করে খুলি, তখন এটি সাহায্য করেছিল। :-)
জাসজাভা

4
নিঃসরণ এবং পুনরায় সূচনা গ্রহটিকে সমস্যাটিও ঠিক করে দিয়েছে।
ডন স্মিথ

4
তিনি তিনি .. আমি এটি ঠিক করার চেষ্টা করে এক ঘন্টা ব্যয় করেছি এবং পরে এটি দেখেছি।
বিকাশ

ধন্যবাদ একাধিকবার ফাইলটি বন্ধ করে খোলার বিষয়টি আমার জন্যও ঠিক করে দিয়েছে
রাইকুমারদীপাক

44

সমাধান 1: একটি সমাধান যা আমার জন্য কাজ করেছিল যখন এই ত্রুটিটি " ঘোষিত প্যাকেজটি প্রত্যাশিত প্যাকেজটির সাথে মেলে না " গ্রহনের সিভিএস থেকে পরীক্ষা করা একটি প্রকল্পের জন্য ঘটেছিল:

নেভিগেশন বারে প্রকল্পের ক্লিক 1.Right এবং ক্লিক করুন 'মুছুন'
2.Make নিশ্চিত ' ডিস্কে মুছে ফেলুন প্রকল্পের বিষয়বস্তু ' বিকল্পটি হয় না চেক করা থাকে, এবং ওকে ক্লিক করুন।
৩.প্রজেক্টটি মোছার পরে এখন ফাইল -> আমদানি -> সাধারণ -> বিদ্যমান প্রকল্পগুলি ওয়ার্কস্পেসে
যান 4.. ডিরেক্টরি তালিকা থেকে আপনার কর্মক্ষেত্রটি নির্বাচন করুন এবং আপনার প্রকল্পের নামের পাশের বাক্সটি চেক করুন। ' সমাপ্তি ' ক্লিক করুন

সমাধান 2: আবার নীচের বার্তার সাথে আমি এই ত্রুটি পেয়েছি

Eclipse বিল্ড ত্রুটিগুলি - java.lang.Object সমাধান করা যায় না আমাকে এখানে উল্লেখ করা অন্য একটি রুট অনুসরণ করতে হয়েছিল এবং ত্রুটিটি চলে গেছে।

মাঝামাঝি সময়ে, চারপাশের কাজ হ'ল প্রকল্প থেকে জেআরই সিস্টেম লাইব্রেরি সরিয়ে আবার এটি আবার যুক্ত করা। পদক্ষেপ এখানে:

  1. বিল্ড ত্রুটি সহ প্রকল্পের বৈশিষ্ট্যগুলিতে যান (ডান ক্লিক করুন> বৈশিষ্ট্যগুলি) "নির্মাণের পথে" বিভাগে "গ্রন্থাগারগুলি" ট্যাবটি দেখুন তালিকার "জেআরই সিস্টেম লাইব্রেরি" সন্ধান করুন (যদি এটি অনুপস্থিত থাকে তবে এই ত্রুটি বার্তাটি একটি নয়) এক্সলিপ বাগ তবে একটি ভুল কনফিগার করা প্রকল্প)
  2. "জেআরই সিস্টেম লাইব্রেরি" সরান
  3. "লাইব্রেরি যুক্ত করুন ..." চাপুন, "জেআরই সিস্টেম লাইব্রেরি" নির্বাচন করুন এবং প্রকল্পের জন্য উপযুক্ত জেআরই যুক্ত করুন (উদাঃ 'ওয়ার্কস্পেসের ডিফল্ট জেআরই')
  4. লাইব্রেরি নির্বাচনের "সমাপ্তি" এবং প্রকল্পের বৈশিষ্ট্যগুলিতে "ঠিক আছে" টিপুন এবং তারপরে প্রকল্পটির পুনর্নির্মাণের জন্য অপেক্ষা করুন

আশা করি ত্রুটিটি সমাধান হয়ে যাবে ...


আমাকে এটিও করতে হয়েছিল (বিল্ডে গ্রোভি পরীক্ষার একটি ডিরেক্টরি যুক্ত করে)। আপনার রান কনফিগারেশনে নোট তৈরি করতে ভুলবেন না, যা আপনাকে পুনরায় তৈরি করতে হবে। কোন ধারণা কেন এটি প্রয়োজন? এমন ব্যথা।
জোশুয়া গোল্ডবার্গ

11
সহজ সমাধান: আমি আবার এই পরিস্থিতিতে ছিলাম, এবং প্রকল্পটি বন্ধ করে, Eclipse পুনরায় আরম্ভ করে এবং প্রকল্পটি পুনরায় খোলার মাধ্যমে এটি কাজ করতে সক্ষম হয়েছি।
জোশুয়া গোল্ডবার্গ

12
আরও সহজ! আমার কেবল এটি আবার ছিল এবং এটি একক সমস্যাযুক্ত ফাইলের সম্পাদককে বন্ধ করে এবং পুনরায় খোলার মাধ্যমে চলে গেল।
জোশুয়া গোল্ডবার্গ

4
পুনরায় সূচনাটি মনে হচ্ছে এটি ঠিক হয়ে গেছে।
মাইক আর

সমাধান 1 আমার পক্ষে কাজ করেছিল। খুব অদ্ভুত. আমি একই গিট ক্লোনটি অন্য মেশিনে একিপ্সিতে আমদানি করেছি এবং এই সমস্যাটি দেখিনি।
ডান্টল

13

আমি এই পদক্ষেপগুলি অনুসরণ করে সমস্যার সমাধান করেছি:

  1. প্রকল্পটি নির্বাচন করুন - ডান ক্লিক করুন - জাভা বিল্ড পাথ।

  2. উৎস ট্যাবে - আপনি পরিবর্তন srcকরতে src/main/java

  3. গ্রহনটি সমস্ত প্রকল্পের পুনঃক্রম করবে।


11

আমার এই সমস্যাটি ছিল - আমার প্যাকেজের মধ্যে অন্যান্য ক্লাসগুলি ভাল ছিল, তবে এক শ্রেণীর বিপরীতে এটির ত্রুটি ছিল। প্যাকেজ ঘোষণায় কোনও সমস্যা হয়নি।

আমি এটি করে এটি স্থির করেছি refactor->moveএবং অস্থায়ীভাবে ক্লাসটিকে অন্য প্যাকেজে স্থানান্তরিত করেছি, তারপরে refactor->moveমূল প্যাকেজটিতে ফিরে আসছি।



2

"ডিভাইস" নামে আপনার প্রকল্পের আওতায় একটি নতুন প্যাকেজ তৈরি করুন এবং এতে আপনার ক্লাস রাখুন। এটি আপনার প্রকল্প উত্স ফোল্ডারে "ডিভাইস" নামে একটি ডিরেক্টরিতে স্থাপন করা বর্গের সমান।


1

Devicesপ্রকল্পের বৈশিষ্ট্যগুলিতে উত্স ফোল্ডার হিসাবে এটি সংজ্ঞায়িত হয়েছে তা নিশ্চিত করুন ।


1

একই ধরণের ত্রুটি পেয়েছি তবে আমার প্যাকেজটি একেবারে সঠিক ছিল। আমি যখন সবেমাত্র আমার সম্পাদকটি বন্ধ করে খুললাম তখন ত্রুটিটি মুছে যাবে। আশা করি এটি কিছু পরিস্থিতিতে সহায়তা করতে পারে।


1

আমি আমার .classpathফাইলে সেই প্যাকেজের জন্য "বাদ দিয়ে" বৈশিষ্ট্যটি সরিয়ে এটি ঠিক করেছি । পুরো ট্যাগটি নয়, বৈশিষ্ট্যটি সরান, বা "এসসিআর / জাভা" উত্স ফোল্ডার হিসাবে বন্ধ হবে।

<classpathentry excluding="com/myproject/mypackage/mysubpackage/" kind="src" path="src/java"/>

1

এই সমস্যাটি প্যাকেজের নাম উল্লেখ করে সমাধান হয়েছে

আমি আমার ফাইল টেস্ট_স্টেপস.জভা সরাল যা প্যাকেজ পদক্ষেপ সংজ্ঞার অধীনে ছিল

এখানে চিত্র বর্ণনা লিখুন

স্রেফ প্যাকেজ পদক্ষেপ যুক্ত করে সমস্যাটি সমাধান হয়ে গেল

সুতরাং আপনার যখন কোনও প্যাকেজ রয়েছে এবং আপনি আপনার ক্লাস ফাইলে ব্যবহার করছেন না তখন এই সমস্যা দেখা দিতে পারে।

এটি যুক্ত করা সমস্যার সমাধান করেছে এবং ত্রুটিটি আর প্রদর্শিত হচ্ছে না।

এখানে চিত্র বর্ণনা লিখুন


0

আপনি একটি সঠিক প্যাকেজ তৈরি করেছেন তা নিশ্চিত করুন You প্যাকেজের পরিবর্তে আপনি ফোল্ডার তৈরি করার সুযোগ পেতে পারেন


0
  1. আপনার প্রকল্পের ওয়ার্কস্পেস রুট ডিরেক্টরিতে ডিরেক্টরি [আপনার.প্রজেক্ট.নাম] তৈরি করুন।

  2. "Src" থেকে * .java অনুলিপি করে সেই ডিরেক্টরিতে অনুলিপি করুন।

  3. প্রকল্পটি বন্ধ এবং পুনরায় খুলুন।


0

আমি যখন গ্রহনের একটি এসএনএন সংগ্রহশালা থেকে একটি প্রকল্প যাচাই করছিলাম তখন এটি আমার হয়েছিল। আমার .m2 ফোল্ডারে জার ফাইলগুলি ছিল যা গ্রহনটি দেখছিল না। সমস্যাটি সমাধান করার জন্য আমি করেছি:

ডান ক্লিক প্রকল্প ফোল্ডারটি কনফিগার করুন> মেভেন প্রকল্পে রূপান্তর করুন

এবং এটি সমস্যার সমাধান করেছে।


0

মিলিয়ন উত্তর রয়েছে তবে এখানে অন্যটি রয়েছে: ফাইলগুলিকে একটি নতুন প্যাকেজে অনুলিপি করুন, পুরানো প্যাকেজটি মুছুন এবং নতুন প্যাকেজটির নাম পুরানো প্যাকেজটির নামে দিন।


0

নিশ্চিত করুন যে আপনি ডিফল্ট প্যাকেজটি ব্যবহার করছেন না। নাম 'ডিভাইস' সহ একটি নতুন প্যাকেজ তৈরি করুন এবং এর ভিতরে এই কোডটি অনুলিপি করুন এবং ব্যবহার করুন।


0

অন্যান্য প্যাকেজ / প্রকল্পগুলি থেকে ক্লাস অনুলিপি করার সময় আমার এই ধরণের পরিস্থিতি ছিল।

মেনু-> প্রকল্প-> পরিষ্কার সাধারণত সাহায্য করে।


0

আমার ক্ষেত্রে আমি সমস্যা ট্যাবে ত্রুটি চিহ্নিতকারী নির্বাচন করেছি এবং এটি জাভা ফাইলের প্রধান পদ্ধতিটি কার্যকরভাবে কার্যকর হওয়ার কারণে এটি মুছে ফেলেছি being এটি বহুসংখ্যক প্লাগইন ইনস্টল করা সহ এক্লিপস নিওনের কিছু ভুল।


0

আমি যখন গ্রহনে কোনও বিদ্যমান প্রকল্প আমদানি করেছিলাম তখনও আমি এই সমস্যার মুখোমুখি হয়েছিলাম। এটি একটি গ্রেড প্রকল্প ছিল, তবে আমদানির সময় আমি জেনারেল-> বিদ্যমান প্রকল্পগুলিকে ওয়ার্কস্পেসে ক্লিক করে এটি নিয়মিত প্রকল্প হিসাবে আমদানি করেছিলাম। সমস্যা সমাধানের জন্য আমি প্রকল্পের মধ্যে গ্রেডল প্রকৃতি যুক্ত করেছি :::: প্রকল্প ফোল্ডারে -> কনফিগার করুন-> গ্রেডল প্রকৃতি যুক্ত করতে ডান ক্লিক করুন


0

আমি স্প্রিং টুল স্যুটটি ব্যবহার করছিলাম 4 সমস্যাটি বের করতে সক্ষম নয়। ডিরেক্টরি কাঠামোটি প্যাকেজের নাম অনুসারে ছিল।

তবে প্রকল্পটি পরিষ্কার করা আমাকে সহায়তা করেছিল।


0

এক্সিলিপ আইডিই-র একটি মাভেন প্রকল্পে আমার একই সমস্যা ছিল। .Classpath ফাইলটি সঠিক ফর্ম্যাট দিয়ে প্রতিস্থাপন করে আমি এটি সমাধান করতে সক্ষম হয়েছি। প্রতিস্থাপনের পরে কাছাকাছি এবং প্রকল্পটি খুলুন।

নমুনা। ক্লাসপথ ফাইল

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" output="target/classes" path="src/main/java">
        <attributes>
            <attribute name="optional" value="true"/>
            <attribute name="maven.pomderived" value="true"/>
        </attributes>
    </classpathentry>
    <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
        <attributes>
            <attribute name="maven.pomderived" value="true"/>
        </attributes>
    </classpathentry>
    <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/webapp">
        <attributes>
            <attribute name="maven.pomderived" value="true"/>
        </attributes>
    </classpathentry>
    <classpathentry kind="src" output="target/test-classes" path="src/test/java">
        <attributes>
            <attribute name="optional" value="true"/>
            <attribute name="maven.pomderived" value="true"/>
            <attribute name="test" value="true"/>
        </attributes>
    </classpathentry>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
        <attributes>
            <attribute name="maven.pomderived" value="true"/>
        </attributes>
    </classpathentry>
    <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
        <attributes>
            <attribute name="maven.pomderived" value="true"/>
        </attributes>
    </classpathentry>
    <classpathentry kind="output" path="target/classes"/>
</classpath>

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