EclipseのJavaプロジェクト:タイプjava.lang.Objectを解決できません。必要な.classファイルから間接的に参照されている


209

Eclipseにプロジェクトをインポートした後、次のエラーが発生します。

タイプjava.lang.Objectを解決できません。必要な.classファイルから間接的に参照されている

ただし、Eclipse Keplerでは、ウィンドウ»設定»Java»インストールされたJREを使用して、パスをC:\ Program Files \ Java \ jdk1.6.0_41設定しました


「コピープロジェクト」を作成してエラーが消えた
Srinath Ganesh

この動作は、Luna Service Release 2(4.4.2)でも発生します。ここでのソリューションはまだ問題を解決することができます。
フォビック2016

回答:


243

これは時々噛み付くように見える厄介なEclipseバグです。可能な解決策については、http://dev-answers.blogspot.de/2009/06/eclipse-build-errors-javalangobject.htmlを参照してください。それ以外の場合は、以下を試してください。

  • プロジェクトを閉じて、再度開きます。

  • プロジェクトをクリーンアップします(ビルドパスが再構築されるため、JDKライブラリで再構成されます)

    または

  • プロジェクトを削除して再インポートし、必要に応じて上記の手順を再度実行します。

より良い解決策は、EclipseではなくNetBeansを試すことです:-)


4
こっちも一緒。奇妙なEclipseのバグ。リンクが言うように、プロジェクトのクラスパスからJREライブラリを削除して再度追加すると、問題が解決します。
FelipeLeão2014年

ああ、IBMと契約していない世界のために。
Zibbobz 2014

1
Androidプロジェクトでエラーが発生しました。AndroidTools-> Fix Project Propertiesをクリックすると、エラーが修正されました。
ローレンツ

@ZibbobzなぜIBMとの契約が必要なのですか。私はまだこれをIBM Javaで解決できません。
アナンド2014

これは、JAVA_HOME環境変数をいつ変更したかに関係があるのでしょうか。JAVA_HOME変数を変更したところ、これがポップアップしました。JREライブラリを削除または再読み込みしました。
user2124871 2016

221

次の手順が役立ちます。

  1. プロジェクトを右クリック»プロパティ»Javaビルドパス
  2. ライブラリ」タブを選択します
  3. JREシステムライブラリを見つけて削除する
  4. 右側にある[ ライブラリを追加... ]ボタンをクリックします»JREシステムライブラリを追加します(ワークスペースのデフォルトJRE)

4
私の場合、プロジェクトのインポート中に誤ってJREを削除してしまったために発生しました[私のせい]。これは私に問題を修正する手がかりを与えました。
GayashanNA 14

私の場合はまったく存在しなかったので、追加しました。
Muhammed Refaat 2016年

1
これは私の場合にはうまくいきましたが、8つのエラーを解決しましたが、さらに33をくれました!
Harsh Phoujdar

10

Java-ADTの場合:Windows-設定-Java-インストールされたJRE JDKフォルダーの下の「jre」フォルダーを指す別のJREを追加するだけです。(jreはjdkに含まれています)。新しいjreを選択したことを確認してください。


9

これは、Eclipse LunaからEclipse KeplerにJava 1.8プロジェクトをインポートしたときに起こりました。

  1. プロジェクトを右クリック>ビルドパス>ビルドパスを構成...
  2. 「ライブラリ」タブを選択すると、Java 1.8 jreにエラーが表示されます。
  3. Java 1.8 jreを選択し、[削除]ボタンをクリックします
  4. ライブラリを追加...> JREシステムライブラリ>次へ>ワークスペースのデフォルト>完了
  5. [OK]をクリックしてプロパティウィンドウを閉じます
  6. プロジェクトメニューに移動>クリーン...> OK

Etvoilà、それは私のために働いた。


7

オブジェクトクラスは、Javaのすべてのクラスの基本クラスです。これがない場合、ビルドパスにjdkライブラリがないことを意味します。Keplerについてはあまり知りませんが、コンパイル用の正しいjdkと、Javaアプリを実行するための正しいjreを指していることを確認する必要があります。

しかし、私はeclipse KeplerツールバーからC:\ Program Files \ Java \ jdk1.6.0_41としてパスを設定しています-> windows-> preferences-> java-> installed jre

設定でjreではなくjdkを指定しようとしています。toolbar-> windows-> preferences-> java-> installed jreは、jdkではなくjreを指す必要があります。


私もそれを試しました。ただし、同じエラー状態のままです。
ブルーダイヤモンド

4

他の答えはどれもうまくいきませんでした。しかし、これを行うと:

  1. パッケージエクスプローラーでプロジェクトを右クリックします。
  2. ソース>クリーンアップ...
  3. 次へ>終了

これを行ったとき、Eclipseは私のクラスの1つにインポートを追加しました。これは、インポートが欠けているプロジェクトを保存したためと考えられます。


ありがとうございます。
シンアルジュン2014

@SinghArjunわかりませんが、インポートが欠落している状態でプロジェクトが保存されたときに発生すると思います。
ジャック・ペッティンガー

4

以前のバージョンのJREをEclipseで使用しながら、別のバージョンのJREをインストールしたことがありますか。

以下でない場合:

  1. プロジェクトを右クリック->ビルドパス->ビルドパスの構成
  2. 「ライブラリ」タブに移動します
  3. ライブラリの追加-> JREシステムライブラリ->次へ->ワークスペースのデフォルトJRE(またはシステムから代替JREを選択できます)->完了

はいの場合。

  1. プロジェクトを右クリック->ビルドパス->ビルドパスの構成
  2. 「ライブラリ」タブに移動します
  3. 以前のバージョンを削除
  4. ライブラリの追加-> JREシステムライブラリ->次へ->ワークスペースのデフォルトJRE(またはシステムから代替JREを選択できます)->完了

4

クリーニング、プロジェクトとIDEのクローズと再開、ビルドパスでのJREの削除と追加は、私にとってはうまくいきませんでした。

私が見つけた解決策は、プロジェクトを(ディスクからではなく)Eclipseから削除し、プロジェクトのEclipseファイルをディスクから削除して、再度Eclipseにインポートすることでした。うまくいきました。

Mavenを使用している場合はさらに高速です。

  1. Eclipseを閉じます(プロジェクトを削除する必要はありません)
  2. 走る mvn clean eclipse:clean eclipse:eclipse
  3. Eclipseを開きます。プロジェクトはまだ存在しており、問題は解消されているはずです。

3

別の問題として、Androidプロジェクトのビルドターゲットが設定されていない可能性があります。

  1. プロジェクトを右クリック
  2. プロパティを選択
  3. Androidをクリックします
  4. 適切なプロジェクトビルドターゲットにチェックを入れます
  5. 適用する| OK

3

プロジェクトを右クリック->ナビゲーターで表示ナビゲータービューで.classpathファイルを確認できます。このファイルを削除してプロジェクトをビルドします。これでうまくいきました。PS。Eclipseプロジェクトをperfoce / svnのようなバージョン管理と統合している場合は、.classpathを削除する前にプロジェクトのリンクを解除すると役に立ちます。


2

コントローラを追加した後、eclipseでplay-javaアプリケーションでこの問題に直面していました。ビルドパスを介してJREを削除して再インストールし、この問題を自動的に解決するプロジェクトを削除してインポートしました。ジャイロありがとう。


これはリポンアルワシムの答えと同じですよね?
Nicolas Raoul

2

これはEclipseのバグのようですが、Eclipseを再起動するとうまくいきましたが、これが他の人にも役立つことを願っています。


2

私の問題を解決したのは

1)スペースなしでディレクトリの下にjdkをインストールします。

C:/Java

の代わりに

C:/Program Files/Java

これはWindowsの既知の問題です。私も修正しJAVA_HOMEました

2)ラップトップでJava 7およびJava 8を使用しています。そこで、を使用してjvmを定義しましたeclipse.ini。に-vmエントリがない場合、これは必須の手順ではありませんeclipse.ini。私は更新しました:

C:/Java/jdk1.7.0_79/jre/bin/javaw.exe

の代わりに:

C:/Java/jdk1.7.0_79/bin/javaw.exe

幸運を


1

JNIから依存する.classファイルを追加できないという問題が日食ウィンドウで発生しました。同じことを解決するために、すべてのコードをNetBeans IDEに移植しました。

EclipseのJNI / JNAフォルダーからすべてのクラスファイルを追加できない(JAVA、Windows 7)


なぜ反対票が投じられたのですか?可能な解決策をすべて試しましたが、問題を解決できなかったので、コードをNetBeansに移植しました。私がこれに答えたのは、誰かが立ち往生した場合、最悪の場合、あなたが助けを得るかもしれないからです。
ジョーザウィフ2015

あなたは正しいかもしれませんが、私にとっては、既存のライブラリを削除してデフォルトのjreライブラリを設定した後、プロジェクトを閉じてプロジェクトを開いた後、JNI / JNAは問題なく動作しました(eclipse-4.9.0)。
Ajay Kumar

1

Tomcat 6およびjdk 1.8バージョンで作業している間、一部の機能は機能せず、このエラーは1つです。このエラーを解決するには、Eclipseでjdkのバージョンを安定したバージョン(望ましいjdk 1.6またはjdk 1.8_65)に変更する必要があります。

日食のステップ1:プロパティ-> Javaビルドパス-> jreシステムライブラリ(削除)ステップ2:追加-> jreシステムライブラリ->代替jre->インストールされたjre->追加->標準VM->(jreホーム、 jdkパスを配置)->終了

プロジェクトをクリーンアップして確認してください


1

「Eclipse Java for Enterprise Java Developers」をインストールしたため、このエラーが発生しました。これをアンインストールして、「Eclipse IDE for Java Developers」をインストールしました。問題は解決しました。


0

Eclipseにいくつかのアップデートをインストールした後、私に通知しますが、後で再起動するのを忘れました。ですから、Eclipseを再起動すると役立つ場合があります。


やってみましたが、まだコメントは書けません。
NotX 2018

0

どんなに些細なことでも、Javaのインストールを確認してください。私にとって、rt.jarがありませんでした

私はEclipse設定を半日いじって、どこにも行かなかった後にこれを見つけました。必死になって、ようやくコマンドラインからプロジェクトをコンパイルしてみることにしました。私はそれがEclipseの問題であると思っていたので、何か問題があるとは思っていませんでしたが、驚いたことに、これを目にしました。

Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object

Javaインストールで何が起こったのか、rt.jarはどこに行ったのかわかりません。とにかく、これは、不合格のチェックリストを確認し、信じられないほどのすべてのボックスにチェックマークを付けることを思い出させるものです。それは私に多くの時間を節約したでしょう。


0

それは私のためにEclipse Javaコンパイラの「ユーザー」-リリースオプションのチェックを外した後私のために働いています

日食のステップ1:プロパティ-> Javaコンパイラ->「ユーザー」をチェック解除----オプションを解除するオプション->終了

Javaバージョン13.0.1 Eclipseバージョン:Enterprise Java開発者向けのEclipse IDE。


0

プロジェクトを右クリックし、Maven->プロジェクトの更新を選択します。これで問題が解決するはずです。


eclipse-> maven-> updateの実行は、トラブルシューティングのステップの1つである必要があります。
Vaibs

0

私の場合、それは大きなモジュラープロジェクトであり、「赤いX」は親プロジェクトでのみ表示されていました。親プロジェクトに行った

プロパティ->構築されたパス

そこにJREライブラリが削除されましたが、それだけで、親プロジェクトにJREライブラリはもうありません。


0

これらの解決策はどれも私にとってうまくいきませんでした。私の場合の問題は、.javaファイルを生成するJavaコードがいくつかあり、誤ってというファイルを作成したことですClass.java(内容は問題ではないようです)。ファイルを削除すると問題が解決しました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.