গ্রহন সংকলন ত্রুটি: 'শ্রেণীর নাম' প্রকারের শ্রেণিবিন্যাস অসঙ্গত


139

আমি জাভাতে লেখা কয়েকটি ওপেন সোর্স সফ্টওয়্যার ডাউনলোড করেছি এবং এটি Eclipse ব্যবহার করে সংকলনের চেষ্টা করেছি। আমি ত্রুটিটি পেয়েছি: " কিছু শ্রেণিতে 'শ্রেণীর নাম' টাইপটির শ্রেণিবদ্ধতা অসঙ্গতিপূর্ণ "। কী কারণে এই ত্রুটিগুলি ঘটে এবং আমি কীভাবে সেগুলি ঠিক করব?

উত্তর:


161

এর অর্থ আপনি কোনও অ-বিদ্যমান ইন্টারফেস বাস্তবায়নের চেষ্টা করছেন বা আপনি অ-বিদ্যমান শ্রেণিটি প্রসারিত করছেন।

আপনার গ্রহনটি রিফ্রেশ করার চেষ্টা করুন।

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


2
অনুরূপ নিরর্থক পাশাপাশি, আমার একটি মাভেন নির্ভরতা ছিল যা স্প্রিং টুল স্যুটে এই ত্রুটি ঘটাচ্ছে, সমাধানটি ছিল প্রশ্নে নির্ভরতার উপর একটি Maven> Download Sourceকরা।
মিঃলরে

আপনাকে লোগ্রাটমেয়ারে কুদোস
শৈলেশ প্রতাপওয়ার

2
এছাড়াও পরীক্ষা করুন যে পিতামাত্রে সংকলন হচ্ছে। আমার ক্ষেত্রে আমি জানতাম যে সুপারক্লাসের অস্তিত্ব ছিল, তবে এটি আসলে সঠিকভাবে সংকলিত হচ্ছে না।
জোসেফ রাজীব মোঠা

2
আমার একটি বিমূর্ত শ্রেণীর প্রসারিত ক্লাস ছিল যা অনুপস্থিত (গ্রহনের নাম পরিবর্তিত) ইন্টারফেস প্রয়োগ করছিল
কুম্ভ শক্তি

4
আমার ক্ষেত্রে আমি ক্লাসটি প্রসারিত করছিলাম যা শ্রেণীর পথে ছিল (একটি জার), তবে এটি একটি তৃতীয় শ্রেণীর প্রসারিত করেছিল যা আমার ক্লাসপথে ছিল না এমন একটি আলাদা জারে ছিল।
JustinKSU

15

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


ধন্যবাদ, এটি আমার সমস্যা ছিল। আমি জিডাব্লুটি লাইবস অন্তর্ভুক্ত করেছি, তবে জাভা সার্লেটলেট এপিআই জারটি (এই ক্ষেত্রে জেটি থেকে সার্লেট-এপিআই -৩.১.জার) অনুপস্থিত ছিল।
জেমি

13

আপনার ত্রুটিগুলি পরীক্ষা করুন (ট্যাব "চিহ্নিতকারী")। আমারও নিম্নলিখিত ত্রুটি ছিল:

প্রকল্পে প্রয়োজনীয় গ্রন্থাগারের জন্য সংরক্ষণাগারটি পড়া যায় না ...

এবং যখন এটি স্থির করা হয়েছিল "বেমানান ত্রুটি" অদৃশ্য হয়ে গেল।

প্রকৃতপক্ষে আমি নির্মাণের পথে জারগুলি যুক্ত করেছি, তবে কোনও কারণে তারা ত্রুটি সহ পড়া যায়নি

প্রকল্পে প্রয়োজনীয় গ্রন্থাগারের জন্য সংরক্ষণাগারটি পড়া যায় না বা কোনও বৈধ জিপ ফাইল নয়

সুতরাং পরিবর্তে আমি তাদের "বহিরাগত জারস" হিসাবে যুক্ত করেছি। এটি সাহায্য করেছিল এবং সমস্ত সংকলনের সমস্যা আর ছিল না!


5

আমি জেডিকে একটি নতুন সংস্করণে আপগ্রেড করার পরে আমার এই সমস্যা হয়েছিল। আমাকে প্রকল্পের বৈশিষ্ট্য / জাভা বিল্ড পাথের লাইব্রেরিগুলিতে উল্লেখগুলি আপডেট করতে হয়েছিল।


4

আমার আরও একটি মামলা হয়েছে। সঠিক প্রকল্পের পাথ দিন এবং এটিগ্রহণের জন্য আমদানি করুন।

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



2

ক্লাসপথে আপনার লাইব্রেরি ফাইলে যে কোনও শ্রেণীর ক্লাসপথে থাকা অস্তিত্বের সংঘর্ষ (গুলি) যা আপনার অন্য জার ফাইলের মধ্যে থাকতে পারে তার উল্লেখ থাকলে আপনি এই ত্রুটিটি দেখতে পাবেন। এখানে, আমি এই ত্রুটি যখন আমি যোগ করা হয়নি পেয়েছি org.springframework.beans-3.1.2.RELEASE.jarথেকে একটি বর্গ বাড়ানো ছিল org.springframework.jdbc.core.support.JdbcDaoSupport, যা ছিল org.springframework.jdbc-3.1.2.RELEASE.jarআমার ক্লাসপাথ করুন।


2

সমস্যাটি হ'ল আপনি ভুল জারগুলি অন্তর্ভুক্ত করেছেন। আমার একই সমস্যা ছিল এবং এর কারণটি হ'ল আমি প্রকল্পের নির্মাণের পথে ভুল ডিফল্ট জেআরই লাইব্রেরি অন্তর্ভুক্ত করেছি। আমি জাভাটিকে অন্য সংস্করণ দিয়ে ইনস্টল করেছিলাম এবং জাভাটির জেআরআই ফাইলগুলি আলাদা সংস্করণ সহ অন্তর্ভুক্ত ছিলাম। (আমি আমার সিস্টেমে জেআরই 1.6 ইনস্টল করেছিলাম এবং পূর্বে ইনস্টল করা জাভার কারণে জেআরই গ্রন্থাগারটি 1.7 বিল্ড পাথের অন্তর্ভুক্ত ছিল) আপনি যাচাই করতে পারেন আপনি যে জেআরই লাইব্রেরিটি বিল্ড পাথের সাথে অন্তর্ভুক্ত করেছেন তা সঠিক সংস্করণ অর্থাৎ ie জাভা সংস্করণ যা আপনি আপনার সিস্টেমে ইনস্টল করেছেন।


2

আমি এগ্রিপস জুনোতে এই সমস্যাটি অনুভব করেছি, এর মূল কারণ হ'ল যদিও কিছু বসন্তের জারগুলি ক্ষণস্থায়ী মাভেন নির্ভরতা দ্বারা অন্তর্ভুক্ত করা হয়েছিল তবে তারা ভুল সংস্করণে অন্তর্ভুক্ত ছিল।

সুতরাং আপনার বসতি হিসাবে মডুলারাইজড কাঠামো ব্যবহার করা উচিত কিনা তা যাচাই করা উচিত যে প্রতিটি মডিউল (বা কমপক্ষে সবচেয়ে গুরুত্বপূর্ণ: কোর, মটরশুটি, প্রসঙ্গ, এওপ, টিএক্স, ইত্যাদি) একই সংস্করণে রয়েছে কিনা।

সমস্যার সমাধানের জন্য ক্ষণস্থায়ী নির্ভরতার ভুল সংস্করণ এড়ানোর জন্য আমি মভেন ডিভেলপেনসি ব্যতিক্রমগুলি ব্যবহার করেছি।


2

ত্রুটি: "শ্রেণীর নাম" প্রকারের শ্রেণিবিন্যাসটি বেমানান ত্রুটি।

সমাধান: ক্লাস অন্যান্যডেপজার {} -> "other.dep.jar" এর ভিতরে রয়েছে

ক্লাস ডিপজার "ডিপ.জার" এর ভিতরে থাকা অন্যান্যডেপজার {} -> প্রসারিত করে ।

ক্লাস প্রবলেম্যাটাস ক্লাসটি প্রজেক্টের অভ্যন্তরে DepJar {> -> প্রসারিত।

যদি ডেপ.জার প্রকল্পের ক্লাসপথে থাকে তবে অন্যান্য.ডেপ.জার প্রকল্পের ক্লাসপথে না থাকলে, গ্রহনটি "ধরণের শ্রেণিবিন্যাস ... বেমানান ত্রুটি" দেখায়


1

আমার কাছে বিষয়টি ভুল আমদানির কারণে হয়েছিল। আসলে, ভি 7 সমর্থন লাইব্রেরি যুক্ত করার পরে আমদানিগুলি আপডেট করতে হবে।

এটি আপনার প্রকল্পের প্রতিটি শ্রেণীর জন্য নিম্নলিখিত হিসাবে কাজ করে ঠিক করা যেতে পারে :

  1. import android.[*]প্রতিটি ক্লাসের সাথে সমস্ত লাইন মুছুন
  2. আপনার আমদানি পুনর্গঠিত করুন: প্রসঙ্গ মেনু থেকে উত্স / সংগঠিত আমদানি বা (CTRL + SHIFT + O) নির্বাচন করুন
  3. জিজ্ঞাসা করা হলে, লাইব্রেরি নির্বাচন করুন android.support.[*](এবং না android.[*])।

1

এটি অবশ্যই ছিল কারণ হারিয়ে যাওয়া নির্ভরতাগুলি যে আমার maven pom.xML এ ছিল না ml

উদাহরণস্বরূপ, আমি ব্রডলিফ ইকমার্স ডেমো সাইটটি বাস্তবায়নের জন্য ইন্টিগ্রেশন টেস্ট তৈরি করতে চেয়েছিলাম।

আমি তাদের কনফিগারেশন ফাইল এবং বেস টেস্টিং ক্লাস পুনরায় ব্যবহার করতে ব্রডলিফ বাণিজ্য থেকে ইন্টিগ্রেশন পরীক্ষার সাথে একটি ব্রডলিফ জার অন্তর্ভুক্ত করেছি। এই প্রকল্পের অন্যান্য পরীক্ষার নির্ভরতা ছিল যা আমি অন্তর্ভুক্ত ছিল না এবং আমি "বেমানান শ্রেণিবিন্যাস" ত্রুটি পেয়েছি।

ব্রডলিফ / পম.এক্সএমএল এবং সম্পর্কিত বৈশিষ্ট্য ভেরিয়েবলগুলি যা "ব্রডলিফ / পম.এক্সএমএল" তে প্রতিটি নির্ভরতার জন্য সংস্করণ সরবরাহ করে তার থেকে "পরীক্ষার নির্ভরতা" অনুলিপি করার পরে, ত্রুটিটি চলে গেছে।

সম্পত্তিগুলি ছিল:

    <geb.version>0.9.3</geb.version>
    <spock.version>0.7-groovy-2.0</spock.version>
    <selenium.version>2.42.2</selenium.version>
    <groovy.version>2.1.8</groovy.version>

নির্ভরতাগুলি ছিল:

<dependency>
            <groupId>org.broadleafcommerce</groupId>
            <artifactId>integration</artifactId>
            <type>jar</type>
            <classifier>tests</classifier>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.broadleafcommerce</groupId>
            <artifactId>broadleaf-framework</artifactId>
            <version>${blc.version}</version><!--$NO-MVN-MAN-VER$ -->
            <classifier>tests</classifier>
        </dependency>
        <dependency>
            <groupId>com.icegreen</groupId>
            <artifactId>greenmail</artifactId>
            <version>1.3</version>
            <type>jar</type>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.easymock</groupId>
            <artifactId>easymock</artifactId>
            <version>2.5.1</version>
            <type>jar</type>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.easymock</groupId>
            <artifactId>easymockclassextension</artifactId>
            <version>2.4</version>
            <type>jar</type>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>5.9</version>
            <type>jar</type>
            <classifier>jdk15</classifier>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.codehaus.groovy</groupId>
            <artifactId>groovy-all</artifactId>
            <version>${groovy.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.gebish</groupId>
            <artifactId>geb-core</artifactId>
            <version>${geb.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.gebish</groupId>
            <artifactId>geb-spock</artifactId>
            <version>${geb.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.spockframework</groupId>
            <artifactId>spock-core</artifactId>
            <version>${spock.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-support</artifactId>
            <version>${selenium.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-firefox-driver</artifactId>
            <version>${selenium.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-chrome-driver</artifactId>
            <version>${selenium.version}</version>
            <scope>test</scope>
        </dependency>
  <!-- Logging -->
            <dependency>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
                <version>1.2.12</version>
                <type>jar</type>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
                <version>1.6.1</version>
                <type>jar</type>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>jcl-over-slf4j</artifactId>
                <version>1.6.1</version>
                <type>jar</type>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>1.6.1</version>
                <type>jar</type>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.hsqldb</groupId>
                <artifactId>hsqldb</artifactId>
                <version>2.3.1</version>
                <type>jar</type>
                <scope>test</scope>
            </dependency>

1

যদি বর্ধিত শ্রেণিতে সমস্যা থাকে তবে উপরের ত্রুটি বার্তাটি প্রদর্শিত হবে।

উদাহরণ

class Example extends Example1 {

}

বিষয়গুলি ঠিক করুন fix Example1


1

আমার একই একই সমস্যা চিহ্নিতকারী ছিল এবং এটি একটি পদ্ধতি থেকে @ ওভাররাইড টীকা মুছে ফেলার মাধ্যমে সমাধান করেছি যা আসলে প্রথম প্রয়োগ ("সুপার" একটি বিমূর্ত পদ্ধতি ছিল) এবং ওভাররাইড নয়।


1

আমার ক্ষেত্রে, অনেক শ্রেণীর আমদানি রেফারেন্সগুলিতে একটি অতিরিক্ত শব্দ রয়েছে। সঠিক ফাইলটি আমদানি করতে সমস্ত ফাইল সম্পাদনা করে সমাধান করেছি। আমি সম্পাদনাগুলি ম্যানুয়ালি করতে শুরু করেছি। তবে যখন আমি প্যাটার্নটি দেখলাম, আমি এটি একটি সন্ধানের সাথে স্বয়ংক্রিয়ভাবে গ্রহণ করেছি ..গ্রহণের স্থানটিকে পুনরায় স্থান করুন। এটি ত্রুটিটি সমাধান করেছে।



0

আমারও এই সমস্যা ছিল ... আমি জানতে পেরেছি যে শ্রেণীর শ্রেণিবিন্যাস যে এই ব্যতিক্রমটিকে ছুঁড়ে মারছিল, তার পুরো ক্লাসে গ্রহন করে পুরোপুরি খুঁজে পাওয়া যায় না ... আমি ব্যাখ্যা করি:

আমার ক্ষেত্রে, আমার কাছে 3 টি জাভা প্রকল্প রয়েছে: এ, বি এবং সি ... যেখানে এ এবং বি ম্যাভেন প্রকল্প এবং সি নিয়মিত জাভাগ্রহণ প্রকল্প ...

প্রকল্পের এ, আমার কাছে ইন্টারফেস "ইন্টারফেসএ" রয়েছে ... প্রকল্পের বিতে আমার কাছে ইন্টারফেস "ইন্টারফেসবি" রয়েছে যা "ইন্টারফেসএ" প্রসারিত করে সি প্রকল্পে আমার কংক্রিট ক্লাস "ক্লাস সি" রয়েছে যা "ইন্টারফেসবি" প্রয়োগ করে

"প্রকল্প সি" "বিল্ড পাথে" প্রকল্প বি "অন্তর্ভুক্ত ছিল তবে" প্রকল্প এ "নয় (যাতে ত্রুটির কারণ ছিল) ...." সি "এর বিল্ড পাথের ভিতরে" প্রকল্প এ "অন্তর্ভুক্ত করার পরে , সবকিছু স্বাভাবিক হয়ে গেল ...


0

আমার একটি ক্লাস ছিল যা ওএসজিআই সহ একটি প্রকল্পে লেবেলপ্রভাইডার প্রসারিত করে, সেখানে ত্রুটি ঘটেছে। সমাধানটি ছিল: org.eclipse.jface.viewers এর মত একক প্যাকেজ আমদানির পরিবর্তে ম্যানিফেস্টে প্রয়োজনীয় প্লাগইনগুলিতে org.eclipse.jface যুক্ত করা।


0

আপনি যদি সূর্যগ্রহণটি আমদানি করছেন মাত্র ১. প্রকল্পের বৈশিষ্ট্যের অধীনে জাভা বিল্ড পাথ সেটিংয়ে যান। ২. জেআরই সিস্টেম লাইব্রেরির সাথে একটি ত্রুটির চিহ্ন সংযুক্ত থাকলে এটিকে সম্পাদনা গ্রন্থাগারের উইন্ডোটি খুলতে ডাবল ক্লিক করুন ৩. প্রয়োগের পরিবেশটিকে সিস্টেমের সঠিক জাভা সংস্করণে পরিবর্তন করুন বা রেডিও বোতামগুলি বরাদ্দ করে অন্যান্য সেটিংস সম্পাদনা নির্বাচন করুন তাদেরকে. 4. সমাপ্তি ক্লিক করুন


0

"ইক্লিপসের জন্য গুগল প্লাগইন" ইনস্টল না করেই যখন ইক্লিপসে একটি জিডব্লিউটি প্রকল্প আমদানি করা হয়, তখন এটি ঘটবে। "একলিপসের জন্য গুগল প্লাগইন" ইনস্টল করার পরে, এই ত্রুটিটি অদৃশ্য হয়ে যাবে।


0

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


0

আমার ক্লাসগুলি একটি নতুন ইন্টারফেস বাড়িয়েছে এমন একটি শাখা থেকে কিছু গিট মার্জ করার পরে আমার এই ত্রুটি হয়েছিল । প্যাকেজ এক্সপ্লোরার -এ ফাইল-ট্রি রিফ্রেশ (F5) করার জন্য এটি যথেষ্ট ছিল ফ্রেমে ।

দেখে মনে হচ্ছে Eclipse সবকিছু সঠিকভাবে আপডেট করেনি এবং তাই ক্লাসগুলি একটি অ-বিদ্যমান-এখনও ইন্টারফেস প্রসারিত করেছিল। রিফ্রেশ করার পরে, সমস্ত ত্রুটিগুলি অদৃশ্য হয়ে গেল।


0

আমি আইবিএম থেকে পেয়েছি এবং অ্যাক্সেস অক্সিজেন থেকে স্যুইচ করতে হয়েছিল এবং আইবিএম জেডিকে ৮ ব্যবহার করে এক্সপ্লিপ ফোটন এবং ওরাকল জেডিকে ৮. আমি জাভা কাস্টমাইজেশনে কাজ করছি

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