Eclipseで、すべてのJavaソースがエラーなしでコンパイルされると、パッケージエクスプローラーの「red-x」エラーアイコンが発生する原因は何ですか?


94

私はEclipseをJava開発に使用しています。すべてのソースが正常にコンパイルされ、結果のアプリケーションは正常にコンパイルされます。ただし、パッケージエクスプローラーに「red-x」エラー通知が表示され続けます。

このソースディレクトリ内のすべてのソース(スナップショットには長すぎる)は正常にコンパイルされますが、「red-x」エラーアイコンは表示されません。

問題を修正する方法についての提案は高く評価されます。

回答:


167

ええ、これは明確な理由なしに時々起こります。「問題」タブ(コンソール出力のすぐ隣)に移動してエラーメッセージを表示できるので、その方法で絞り込むことができます。


6
特に、Java以外の別のコンポーネントが検証に失敗したときに取得します(良い例は、SpringやMavenのようなXMLファイルです)。
スペンサーコルモス2008年

2
問題ビューに問題が見られる場合は、それが明らかな理由です。明らかな理由もなく、エラーはまだ見ていません:)
nanda

jan-gressmanの回答に追加。「問題」タブを見ると、__duplicatefile.javaなど、一部のフォルダーにアンダースコアが付いている余分なファイルが問題であることがわかります。これを修正するには、プロジェクトを右クリックして、[Show In]> [Navigator]を選択します。次に、アンダースコアを使用して重複ファイルを削除し、プロジェクトをビルドします。
GraSim、2015年

3
私もこれに遭遇します-頻繁に。私にとっては、Eclipse&Mavenとコマンドライン(mvn)を交換可能に使用するときにPOMファイルを手動で変更することになります。修正するには:[問題]タブを使用して上記のように診断します。同期していないのがPOMの場合は、EclipseでMavenを使用して「プロジェクトを更新」できます。パッケージエクスプローラーでプロジェクトを「右クリック」し、「Maven」を選択します。 "、[プロジェクトの更新]を選択します。「pom.xmlからプロジェクト構成を更新」、「ワークスペースを更新...」、「プロジェクトをクリーンアップ」が選択されていることを確認してください。
Zack Jannsen 2016年

問題を見るための良いアドバイス。プロジェクトを更新する必要がありました。
ダウニート

16

これは、Mavenを使用するときに頻繁に発生し、この質問が見つかるまで常に無視していました。この場合、プロジェクトを更新する必要があります([問題]ペインで確認してください)。

プロジェクトのコンテキストメニューから:Maven-> Update Projectを選択し、使用可能なMavenコードベースを選択します。

または、(Alt + F5)を使用して同じウィンドウを表示することもできます


1
アップデートプロジェクトにアクセスしても、問題は解決しません。「問題」タブで、未定義/未初期化/型に解決できないことを示す100個のエラーが表示されます...この本当のクイックを
回避

11

プロジェクトをクリーンアップして再構築してください。


6

ビルド後。プロジェクトを更新し、それでも解決しない場合は、Eclipseの[問題]タブを右クリックし、[すべて削除]を選択します。

Mavenインストールを実行し、Eclipseプロパティファイルが正しく更新されない場合によく発生します。プロジェクトにエラーはありませんが。うまくいけば!


[問題]タブ領域を右クリックし、[削除]を選択します。
ガブリエルステープルズ

5

まずは答えてくれた皆さんに感謝したい。しかし、私の場合、問題がまだあり、修正が必要だったため、クリーニングと再構築だけでは不十分でした。

私のパッケージディレクトリの1つが誤ってコピーされて、誤ったパッケージ宣言を持つJavaファイルを含む「dagskraのコピー」と呼ばれる追加のディレクトリが存在することがわかりました。さらに、この「新しい」ディレクトリのエラーは、それが存在するパッケージの「red-x」では表示されません。

エラーのある「dagskraのコピー」ディレクトリを表示するパッケージエクスプローラーのスナップショットhttp://www.freeimagehosting.net/uploads/a824304b18.png

「問題」タブを読んだヒントが正しい方向に向かった:-)だから、私はその答えを受け入れられた答えとして選択した。

問題タブからのスナップショットhttp://www.freeimagehosting.net/uploads/dea26d5dd0.png

これが他の人の役に立つことを願っています...


2

したがって、ビルドパスに欠落しているパッケージがある可能性があることを発見すると、これを削除するために、メインプロジェクトに対する赤いxを使用します。

1)プロジェクトの「ビルドパスの構成」に移動します2)Javaビルドパス-> [ソース]タブ-不足しているパッケージ/ファイルに対して赤いxが表示されます。存在しない場合は、「削除」してください。

レッド×いなくなった!:)


1

場合によっては、.projectにビルドパスエラーがあり、実際にエラーの原因となっているファイルを表示するには、リソースビューに切り替える必要があります。


1

私は同じ問題を抱えていて、以下の手順で問題を解決しました:

  1. PROJECT>プロパティ> javaビルドパス>ライブラリからJREを削除します。

  2. 日食を再開する

  3. JREを再度追加します

  4. Project> Cleanを使用してプロジェクトを再構築し、自動的に構築するオプションを選択します。

してみてください。


この質問はほぼ4年前のものであり、すでに回答済みです。これは回答の複製です。質問の作成者に役立つ可能性がある場合にのみ、新しい情報を投稿してください。
Sam

混乱してしまい申し訳ありませんが、私の見方では、重複しない新しい回答を投稿しようとしました。
sun2 2013

01/28/18にも同じ問題が発生しています。質問の年齢に関係なく、回答を提供することは依然として良いことです。
Tadele Ayelegn 2018年

1

Subversionも時々これの犯人です。環境とは何の関係もない可能性があります。ただし、プロジェクトの現在の状態とローカルの状態の間に相違がある可能性があります。私の場合、更新を行ってから、Subversionサーバーへのコミットを実行すると、Xなどのプロジェクトにフラグを付けずに、予期したクリーンな結果が得られました。


EclipseのSVNプラグインはあまり安定していないようです。私は彼らと問題を抱え続けています。私は彼らに責任を負わせました(手がかりはなく、ただの直感を持っていません)。あなたが提案したものは私のために働いた+1。
Pantelis Natsiavas

0

再構築してみてください。再構築が完了するまで、赤いxが常に消えるわけではないことがわかりました。


0

私は何度も同様の問題に遭遇しましたが、通常私に起こるのは、Javaファイルではテキストエディターでコンパイルできないと表示されますが、パッケージエクスプローラーでは問題なくコンパイルされるということです。

「リビルド」または「クリーンビルド」を実行しても機能しないことがあり、ファイルが実際にビルドされない(Eclipseが最新のファイルであるとEclipseが考えると想定する必要があります)。これが発生すると、通常、 Javaビルドパスと私の依存関係の1つをつつく順序を上下に移動します。これにより、Eclipseはすべての再構築を強制し、常に機能しているように見えます。

それでも問題が解決しない場合は、プロジェクトをコピーして同じ動作が得られるかどうかを確認し、最後の食い止めの試みでeclipseのバグを投稿してください。修正に時間がかかる場合がありますが、少なくとも聞いた。


0

前の回答に追加するには、プロジェクトを「クリーンアップ」する極端な方法は、プロジェクトを削除して(つまり、実際のファイルを削除するのではなく、ワークスペースからプロジェクトの参照を削除して)、それを再インポートすることです。
時には、それが役立ちます...


0

他の人が言ったように、ビルドパス内の不正なファイル参照が原因であることがよくあります。

通常は、移動/削除された.jarファイル。Eclipseは、ビルドパスで参照されているすべてのものを指定された場所で見つけることを期待しており、そうでなければ文句を言うでしょう。


0

FindBugsはまた、ファイル/パッケージに対してred-xを付けて、静的コード分析エラーを示します。


0

私はこれを通り抜けました。私の事件はもっと複雑でした。プロジェクトはmavenコマンドラインからうまくパッケージ化されました。

私が作ったもののカップル。1. 1つのクラスに、Eclipseを混乱させたインポートが多数あります。それらをクリーニングすると、問題の一部が修正されました。1つのケースは、Setterに関するもので、F3を押してそのSetterに移動しました。だから私は単にそれを再入力し、それはうまくいきました(他のすべてのセッターでも)

暗黙のスーパーコンストラクター(Item()がデフォルトコンストラクターに対して未定義です)にまだ苦労しています。明示的なコンストラクタを定義する必要があります」


0

また、パッケージでこれらの不可思議なエラーシンボルがときどき発生します。私にとって有効なそれらを取り除く方法は、JREシステムライブラリをJavaビルドパスから効果的に削除し、再度追加することです。


質問者が原因を尋ね、あなたは回避策を提供しました
ヨハネス'26 / 10/26

0

最終的に機能した私の解決策は、すべてのプロジェクトのクリーンアップ、Eclipseのクローズ、すべてのプロジェクトのクリーンアップ、Eclipseのクローズなどを少なくとも5〜6回行うことでした。最終的にそれはすべて落ち着き、すべてが期待通りでした。これまでで最も奇妙なこと!!

また、問題ビューまたはコンソールビューにエラーはありませんでした。

また、これはコンピュータのクラッシュ後に発生しました。最後に起こったとき、私のワークスペース全体が完全に失われました。それはまだコンピュータ上にありましたが、アクセスしようとすると、すべて空白になります。

なんらかの理由で、コンピューターのクラッシュは実際にEclipseで本当にひどく処理されています。


0

また、クリックしてプロジェクトを更新することもできます。

プロジェクト名を右クリック-> Mavenを選択->右クリック->プロジェクトの更新。

これは私に役立ちました。

ありがとう。


0

これは、いくつかの理由で発生する可能性があります。jdkを変更した場合、プロジェクトファセットの横に赤いXが表示され、他のフォルダーにはエラーが表示されません。この場合は、表示されているjdkを変更してください。これは、JAX-WSクラス(HSG


0

私は私によって解決しました

  • 他のすべてのプロジェクトを閉じます(つまり、関連のないプロジェクトオプション)

  • クリーンでビルド

私のプロジェクトはandroidでしたが、それでうまくいきました。



0

私の場合、この問題を解決したのは単にEclipseを閉じて再度開くことでした...しかし、なぜこれが発生したのか、なぜ機能したのかはまだわかりません。私はプロジェクトのクリーニングに問題があり(特定のファイルを削除できないと言っていました)、これはそれを解決しました:):


0

同じ問題がありました。「問題」タブを確認したところ、プロジェクトのサーバーが見つかりませんでした。サーバーを定義しました。赤xが消えた


0

あなたはプロジェクト->ビルドパス->ライブラリに行くことができます

Xマークが付いている、つまり[クロスマーク]が付いているライブラリーがある場合は、それを削除して、ビルドを再試行します。それも私のために働いた/


0

今日この問題に遭遇し、このリンクを見つけました。上記のPatrick Schaeferが述べたように私はフォローし、Update Mavenプロジェクトダイアログを開きました。私の作業中のプロジェクトをクリックし、「スナップショット/リリースの強制更新」チェックボックスと「OK」を選択しました。すべての赤十字が消えた。これが同様の状況にある人を助けることを願っています。


-2

エラーのあるプロジェクトを右クリックし、サブメニューで選択します Mavenの > UpdateProject >

その後:

  • すべての依存プロジェクトのチェックボックスを選択します
  • スナップショットの強制更新を選択
  • OKをクリックします。

これでうまくいきました。

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