Javaで書かれたオープンソースソフトウェアをダウンロードし、Eclipseを使用してコンパイルしようとしました。 エラーが表示されます。「一部のファイルで 'クラス名'タイプの階層が矛盾しています」です。 これらのエラーの原因とその解決方法を教えてください。Eclipseコンパイルエラー:「クラス名」タイプの階層が矛盾しています
答えて
これは、存在しないインターフェースを実装しようとしているか、存在しないクラスを拡張しようとしていることを意味します。
Eclipseをリフレッシュしてみてください。
動作しない場合は、ビルドパスにないJARへの参照がある可能性があります。 プロジェクトのクラスパスを確認し、インターフェイスまたはクラスを含むjarがその中にあることを確認します。
エラーを確認してください(タブの「マーカー」)。私はまた、次のエラーがありました:
Archive for required library in project cannot be read...
そして、それが修正されたとき、「矛盾エラー」は消えました。
は、実際に私は、ビルド・パスにjarファイルを追加したが、何らかの理由で、彼らはエラー
Archive for required library in project cannot be read or is not a valid ZIP file
で読み取ることができませんでしたので、代わりに私は、「外部JAR」としてそれらを追加しました。それは助けられ、すべてのコンパイルの問題はもはやありませんでした!
クラスパスにあるライブラリファイル内のあるクラスが、別のjarファイルに存在する可能性のある存在しないクラスを参照する場合にこのエラーが表示されます。ここでは、org.springframework.beans-3.1.2.RELEASE.jar
を追加せずにorg.springframework.jdbc.core.support.JdbcDaoSupport
からクラスを拡張したときにこのエラーを受け取りました。これは私のクラスパスのorg.springframework.jdbc-3.1.2.RELEASE.jar
にありました。
時には、必要なジャーを追加するときに、ITが必要とするジャーを含めないでください。私の場合、tomcat/libのすべてのjarファイルを追加すると、この問題を解決するのに役立ちました。私はweb-appに取り組んでいます。
ありがとう、これは私の問題でした。私はGWTライブラリを含んでいましたが、JavaサーブレットAPI jar(この場合はJettyのservlet-api-3.1.jar)がありませんでした。 – Jamie
誤ったjarが含まれている可能性があります。私も同じ問題がありました。その理由は、プロジェクトのビルドパスに間違ったデフォルトJREライブラリが含まれていたためです。私は別のバージョンでJavaをインストールし、JavaのJREファイルを別のバージョンに含めていました。 (私は自分のシステムにJRE 1.6をインストールし、以前にインストールしたJavaのためにJREライブラリ1.7をビルドパスに含めました)ビルドパスに含まれているJREライブラリが正しいバージョンであるかどうかを確認できます。あなたのシステムにインストールしたJavaバージョンの
私はEclipse Junoでこの問題を経験しましたが、根本的な原因は、一部のSpring Jarが一時的なMaven依存関係に含まれていたものの、間違ったバージョンに含まれていたことでした。
モジュール化されたフレームワークをすべてのモジュール(または少なくとも最も重要なもの:コア、豆、コンテキスト、aop、txなど)が同じバージョンである春として使用するかどうかを確認する必要があります。
私は問題を解決するために、不適切なバージョンの一時的な依存関係を避けるために、maven依存の除外を使用しました。
JDKを新しいバージョンにアップグレードした後、この問題が発生しました。プロジェクトプロパティ/ Javaビルドパスでライブラリへの参照を更新する必要がありました。
もう1つのケースがあります。正しいプロジェクトパスを与え、eclipseにインポートします。
次に、[プロジェクト] - > [クリーニング] - > [すべてのプロジェクトをクリーンアップ]に移動します。
私にとっては、私にはGoogle APIの
で1にAndroidのAPIレベルを変更して、問題が間違っ輸入によるものでした。実際には、v7サポートライブラリを追加した後にインポートを更新する必要があります。
それは次のように実行して固定することができ、あなたのプロジェクトの各クラスの:
- あなたの輸入を再編成
- 各クラスでは、
import android.[*]
持つすべての行を削除します。コンテキストメニューから選択ソース/整理インポートまたは(CTRL + SHIFT + O) - メッセージが表示されたら、ライブラリ
android.support.[*]
(android.[*]
ではなく)を選択します。
私もこの問題を持っていた...私はこの例外を投げていたクラスの階層は、日食によってすべての帰りのルートクラスにトレースすることができないことが判明...私は説明:
私の場合、私は3つのJavaプロジェクトを持っています:A、B、C ... AとBはMavenプロジェクトで、Cは通常のJava eclipseプロジェクトです...
プロジェクトAでは、 "interfaceA" ... プロジェクトBでは、私は "interfaceA"を拡張する "interfaceB"というインターフェースを持っています プロジェクトCでは、具体的なクラス "classC"があり、 "interfa ceB "
"プロジェクトC "にはビルドパスに"プロジェクトB "が含まれていましたが、"プロジェクトA "には含まれていませんでした(エラーの原因です)。 "C"のパスを構築すると、すべて正常に戻りました...
私のmaven pom.xmlにない依存関係がないため、間違いなくありました。
たとえば、広範なeコマースデモサイトを実装するための統合テストを作成したいと考えていました。
私は、構成ファイルとベーステストクラスを再利用するために、広葉樹取引からの統合テストを含む広葉樹瓶を含めました。そのプロジェクトには私が含まなかった他のテストの依存関係があり、 "一貫性のない階層"エラーが発生しました。
broadleaf/pom.xmlの "テストの依存関係"とbroadleaf/pom.xmlの各依存関係のバージョンを提供した関連するプロパティ変数をコピーした後、エラーはなくなりました。
性質があった。
<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>
依存関係があった。私は、OSGiとのプロジェクトでLabelProviderを拡張するクラスを
<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>
持っていた、そこにエラーが発生しました。解決策は次のとおりです。マニフェストの必須プラグインにorg.eclipse.jfaceを追加する。org.eclipse.jface.viewersのような単一のパッケージをインポートする代わりにmfを使用します
拡張クラスに問題がある場合は、上記のエラーメッセージが表示されます。
class Example extends Example1 {
}
例は、プロジェクトをきれいに、またはEclipseを再起動する必要がありExample1
に問題を修正します。
私は同じ正確な問題マーカーを持っていて、実際には最初の実装(抽象メソッドである「スーパー」)でオーバーライドではない@Overrideアノテーションを削除することで解決しました。
私の場合、多くのクラスのインポート参照に余分な単語が含まれていました。私はすべてのファイルを編集して正しいインポートを持つように解決しました。私は手動で編集を始めました。しかし、私がパターンを見たとき、私はそれを日食でfind..replaceで自動化しました。これでエラーが解決されました。
eclipseプロジェクトをインポートする場合は、ちょうど を入力してください。1.プロジェクトプロパティのjavaビルドパス設定に移動します。 2. JREシステムライブラリにエラーサインが添付されている場合はダブルクリックしてライブラリを編集ウィンドウを開きます 3.実行環境を正しいJavaバージョンに変更するか、ラジオをチェックして他の設定を編集するボタンが割り当てられます。 4.完了をクリックします
エラー: "クラス名"タイプの階層に一貫性のないエラーがあります。
溶液: クラスOtherDepJar {} - >内部 "other.dep.jar" です。
クラスDepJarは延びOtherDepJar {} - >内部"dep.jar"あります。
class ProblematicClass extends DepJar {} - >は現在のプロジェクト内にあります。 dep.jarは、プロジェクトのクラスパスにありますが、プロジェクトのクラスパスにother.dep.jarていない場合は、Eclipseが表示されます
「タイプの階層を...は、一貫性のないエラーです」 「Google Plugin for Eclipse」をインストールせずにEclipseでGWTプロジェクトをインポートすると、これが発生します。 「Google Plugin for Eclipse」をインストールすると、このエラーは表示されなくなります。
- 1. クラッセのタイプの階層が矛盾しています
- 2. Mavenプロジェクト:SpittrWebAppInitializerタイプの階層が矛盾しています
- 3. MainActivityタイプの階層が矛盾しています
- 4. Spring MVC Maven Jar Hell: "ExtendedMappingJacksonJsonView"タイプの階層が矛盾しています
- 5. CSSのクラス名が矛盾しています
- 6. Swift3で奇妙なクラス名が矛盾しています
- 7. Eclipse CDTのタイプ階層ポップアップ
- 8. クラス名がフレームワークのクラスと矛盾します
- 9. "VBAProject"の名前が矛盾します
- 10. 列挙型メンバーがクラス名と矛盾します
- 11. php - Zend Frameworkのビューヘルパーの名前が矛盾しています
- 12. スカラーが継承しているメソッド名と矛盾します
- 13. IOファイルコードが矛盾しています
- 14. JavaScriptが矛盾しています
- 15. 'p'スタイルが矛盾しています
- 16. jquery.min.jsが矛盾しています
- 17. startDragsが矛盾しています
- 18. CLASSファイルが矛盾しています
- 19. jQueryスクリプトが矛盾しています
- 20. pydocは矛盾していますか?
- 21. SnailSVN 'は矛盾しています'
- 22. AutoComplete = "off"は矛盾しています
- 23. Eclipse型階層スタックオーバーフロー
- 24. CFWheels - 'except'というフィルタの問題。アクション名が矛盾しています
- 25. 矛盾アクセシビリティエラーが
- 26. クラス静的メンバーの宣言が矛盾します
- 27. `emoji`と` django-emoji`のパッケージ名が矛盾します
- 28. PHPのバージョンが矛盾します
- 29. クラス階層C++
- 30. 矛盾するファイルと矛盾するファイルを残してください
私はSpring Tool Suiteでこのエラーの原因となっていたMavenの依存関係を持っていました。解決策は問題の依存関係について 'Maven'>' Download Source'を実行することでした。 – MrLore
あなたへの名誉@lagrantmere – Shinchan
また、親がコンパイルされていることを確認してください。私の場合、スーパークラスが存在することが分かっていましたが、実際に正しくコンパイルされていませんでした。 –