web-dev-qa-db-ja.com

Eclipseの「エラー:メインクラスが見つからないかロードできませんでした」

私は自分のラップトップ上でEclipseでGitにプッシュしたプロジェクトを持っています https://github.com/chrisbramm/LastFM-History-Graph.git

それは私のラップトップ上で完全に動作し、問題なく実行/構築されますが、私のデスクトップ上ではEclipseはエラーを出しません

Error:メインクラスlastfmhistoryguis.InputPanelが見つからないか、読み込めませんでした。

私はからプロジェクトを構築しようとしました:

Project>Build Project

しかし何も起こらなかった。私のラップトップでは設定されていませんが、このコンピュータのPATH変数をJRE6、JRE7、およびJDK 1.7.0に設定しました。

C:\ Users\Chrisにある.classpathファイルにあるJarファイル(last.fm-bindings-0.1.1.jar)がありました私のラップトップ上の\ Downloadsフォルダはそれゆえ私が最近プロジェクトフォルダに持ってきてコミットしたgitツリーには含まれていませんでした、しかし私はそれが正しくできたかどうかわかりません。これも問題を引き起こしていますが、そこには主な議論はありません。

現時点では解決できないので、確認/変更する必要があります。

92
Chris

クラスパスでは絶対パスを使用していますが、プロジェクトはまったく異なるファイル構造を持つ新しいマシンに移動しました。

そのため、クラスパスでは(したがって、JARSをプロジェクトにバンドルするつもりであれば)、相対パスを使用する必要があります。

あなたの.classpath変更で

<classpathentry kind="lib" path="C:/Users/Chris/Downloads/last.fm-bindings-0.1.1.jar" sourcepath=""/><classpathentry kind="lib" path="C:/Users/Chris/Downloads/last.fm-bindings-0.1.1.jar" sourcepath=""/>

<classpathentry kind="lib" path="last.fm-bindings-0.1.1.jar"/>
35
poulter7

public static void main(String[] args)を使用してJavaクラスを作成する場合、Eclipseはファイル自体を右クリックするか、プロジェクトエクスプローラでそのファイルを右クリックしてから、そのメインメソッドを実行します。

「別のユーザーとして実行」 - >「Javaアプリケーション」。

これを実行すると、Eclipseはクラスに関する情報を保存するので、Run Asメニュー(ツールバーの緑色の再生ボタン)またはRun Configurationsダイアログからクラスを簡単に再実行できます。

その後Javaクラスを(手動で、または)移動した場合は、もう一度選択します。

「別のユーザーとして実行」 - >「Javaアプリケーション」

eclipseは新しい場所から元の保存された設定を実行し、このクラスを元の場所から呼び出そうとするため、このエラーが発生します。


溶液:

「別のユーザーとして実行」 - >「Javaアプリケーション」

Eclipseは移動したクラスのための新しい設定を書くでしょう、そしてエラーは消えます。

63
Blamkin86

tl; dr:ビルドパス全体と、手動で追加したすべてのものを削除します。これには追加のソース、プロジェクト、ライブラリが含まれます。

  • プロジェクト - >クリーン
  • 「プロジェクト」 - >「自動的にビルド」がアクティブになっていることを確認してください。
  • [プロジェクト] - > [プロパティ] - > [Javaビルドパス] - > [ライブラリ]:追加した外部ライブラリをすべて削除します。 JREシステムライブラリのような標準ライブラリを削除しないでください。
  • 今すぐメインクラスを実行してみてください。 「クラスが見つかりませんでした/ロード」エラーはなくなるはずです。外部のlib/jarを次々に追加してみてください。

この理由は、コンパイラがライブラリをプロジェクトにリンクする際に問題があったためです。失敗し、誤ったエラーメッセージが表示されました。

私の場合は、それが "AutoHotkey.dllをビルドパスに追加できませんでした"のようなものになっているはずです。なぜならそれがコンパイラを失敗させたからです。


それでもうまくいかない場合は、Eclipseの組み込みErrorLogをご覧ください。

ウィンドウ - >ビューの表示 - >一般 - >エラーログ

46
Blauhirn

私は上記のすべてのことをしましたが、それらのどれも私のために働きませんでした

私の問題は以下で解決しました。

プロジェクト>>プロパティ>> JavaBuildPath >>ライブラリを右クリックします。

赤い旗がついている瓶を取り除きます。

それでも問題が解決しない場合は、2度目にこの問題に直面したときにうまくいきました。

プロジェクト>>プロパティ>> Javaビルドパス>>ライブラリを右クリックし、ライブラリを削除して追加をクリックします。 (JREシステムライブラリを選択してください)

18
Atul Chavan

私は約1時間を費やした後私のmaven Webアプリケーションプロジェクトで同様の問題に直面しました、私は私のために働く解決策を見つけました。

mvn clean install -U
私はその背後にある正確な理由を知りません。

14
rajeev pani..

私はあなたがあなたのデスクトップEclipseインストールにプロジェクトをインポートしたと仮定していますか?その場合は、Project> Cleanの順に選択してください。次にプロジェクトを再構築します。私にとっては魅力のように働いた。

9

私は同じ問題を抱えていて、それを使ってそれを解決しました:

Eclipse Mars
Egit
Github
Maven Project

問題は私のmavenプロジェクトをgithubで利用できるようにしたことです。それは私のプロジェクトを私のgithubフォルダに移動しました

解決策:

  • Eclipseを閉じる
  • ワークスペース内のメタデータフォルダを削除します
  • Eclipseを再起動します

スタート画面が表示されます。

  • スタート画面を閉じる
  • エクスプローラを右クリック
  • 「輸入Mavenプロジェクト」を選んだ、
  • Githubフォルダに移動して、Mavenプロジェクトをインポートします。

その後、私のプロジェクトは成功しました。

8
Matthis Kohli

以下のいずれかの方法で、プロジェクトにビルダーがあることを確認してください。

  • プロジェクトのプロパティをチェックし(「パッケージエクスプローラ」で、プロジェクトを右クリックし、「プロパティ」を選択します)、2番目のセクションは「ビルダー」で、デフォルトの「Javaビルダー」を保持する
  • または(。/ workspace/yourProjectName/.project内の).projectファイルを調べて、セクション "buildSpec"を空にしないでください。

他にも方法があるはずですが、私がしたことは次のとおりです。

  • eclipseをシャットダウンする
  • 「project」ファイルを編集して「buildSpec」セクションを追加します。
  • eclipseを再起動します

適切な最小限のJava ".project"ファイルは次のようになります。

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
        <name>myProjectName</name>
        <comment></comment>
        <projects>
        </projects>
        <buildSpec>
                <buildCommand>
                        <name>org.Eclipse.jdt.core.javabuilder</name>
                        <arguments>
                        </arguments>
                </buildCommand>
        </buildSpec>
        <natures>       
                    <nature>org.Eclipse.jdt.core.javanature</nature>
        </natures>      
</projectDescription>
6
loic.jaouen

次のものが私のために働きました...

  1. プロジェクトフォルダ(workspace内)に入りました
  2. その後、binフォルダを削除しました
  3. その後、(Eclipseで)清掃されたプロジェクト
  4. eclipseから構築/実行します。
6
DeeCode

同様のことが私に数回起こった、私がこれを直すことを知っていた唯一の方法はメタデータフォルダーを削除することだった。幸いなことに私は別の方法を見つけました。

プロジェクトのプロパティ> Javaビルドパス>順序と書き出しタブ>すべて選択を試してみてください(またはチェックボックスを使って試してみてください)。

これにより完全なプロジェクトの再構築とEclipseにメインクラスが見えるようになります。

追加:このバグは、作業スペースに多数のプロジェクトがあり、それらのうちのいくつかが間違って構成されている(赤い感嘆符が表示される)場合に発生することに気付きました。プロジェクトのビルドパスやその他の設定を修正すると(このプロジェクトが問題を抱えているプロジェクトと関連がない場合でも)、問題が修正されるはずです。

4
Dmitry Avgustis

Eclipseを使用している場合は、次の手順で問題を解決できます。

「実行」 - >「実行構成」 - >「メインクラス検索」 - >クラスを手動で検索 - >「適用」 - >「実行」の順に選択します。

3
user4115825

私のMain classが見つからなかったか、またはロードされた問題は興味深い理由により引き起こされます。

私たちのプロジェクトでは、ビルドツールとしてMavenと私のmain classextendsクラスを使用しています。これはclass pathにありますが、そのスコープはtestでしたが、main classはテストパッケージの下にありません。

メインクラスがextendsクラスの場合は、まずextends部分を削除してmain classを実行してください。実行すれば、少なくとも問題はrun configurationまたはEclipseではなく、クラスmain classextendsが原因であることがわかります。

3
Ad Infinitum

あなたのコードが良くて、あなたがEclipseの問題を抱えていることを知っているなら、これはそれを解決するでしょう。

$ yourproject/.classpath、$ yourproject/.project、および$ yourworkspace/.metadataを削除するだけで済みます。他の誰かがこのオプションについて言及しました。それはあなたの全体のワークスペースを爆破するでしょう。代わりに:

  1. プロジェクトから.classpathと.projectを削除します。
  2. Eclipseでプロジェクトを削除してください。 ディスク上のプロジェクトの内容を削除するをチェックしないでください。
  3. さて、ファイルエクスプローラで、$ yourworkspace/.metadataに行きます。
  4. $ yourprojectnameを検索してください。
  5. 見つけたものをすべて削除します。 .metadataディレクトリ内の何かを削除しても安全なはずです。
  6. Eclipseの場合:ファイル>インポート>一般>フォルダまたはアーカイブからのプロジェクト> $ yourproject> finish
  7. プロジェクトを右クリック>プロパティ> Javaビルドパス>ソースタブ
  8. すべてのソースフォルダを選択して削除します。
  9. フォルダを追加し、src(あなたのsrcフォルダが呼ばれているものは何でも)を選択し、それを追加します
  10. ライブラリタブに移動します
  11. ここでビルドパスにjarを追加してください。これでプロジェクトにエラーがなくなります。
  12. 通常どおりプロジェクトを実行します。
3
Brent Sandstrom

この問題は、ワークスペースパスに特殊文字が含まれている場合にも発生します。私の個人用フォルダに自分のワークスペースがあり、その名前はギリシャ語だったので、うまくいきませんでした。ワークスペースを変更し、パスに英語の文字しか含まれなくなり、プロジェクトは問題なく構築されました。

私はこのエラーがありました。私はstatic void main(String[] args)を持っていたからです
public static void main(String[] args)の代わりに

私は1時間近くかけてそれを理解しようとしました。

注:唯一の違いは、mainpublicと宣言しなかったことです。

3
Alex Spencer

ワークスペースのエラーログを確認します(Windows - >ビューの表示 - >エラーログ)。インポートされたjarファイルのいずれかが破損している場合は、対応するリポジトリフォルダを削除してから再度インポートしてください。

2
Raman

今日、私はこのエラーに遭遇しました。こんにちは、ワールドプログラムを立ち上げ、新しいプログラムを同じファイルにカットアンドペーストしたためです。最後に呼ばれたようにhello worldを見つけられないという問題を解決するために、Run-> Run Configurationsをクリックし、それからMain Classの下で検索をクリックし、それが新しいクラス名を見つけ、貼り付けたテキストの正しい新しい名前で置き換え。これは私が知っている初心者の問題ですが、それも修正するのは簡単です。これが誰かに役立つことを願っています!ダグラス

2
Douglas E Knapp

私は同じ問題に遭遇しました、しかし私の場合私の場合それは行方不明の(空の)ソースフォルダによって引き起こされました(それは元のプロジェクトに存在しますが、それが空なのでGITリポジトリにはありません)。

不足しているフォルダを作成した後にすべてが動作します。

2
nothrem

このエラーを解決するには、以下のステップを実行してください。

ステップ1:。projectファイルを開きます。

ステップ2:2つのタグを確認してください.

    a) <buildSpec>

    b) <natures>

ステップ3:上記のタグにコンテンツが含まれていない場合は、必ず上記のエラーが発生します。

ステップ4:上記のエラーを解決するために各タグに次の内容を追加して下さい。

<buildSpec>の場合:

<buildSpec>
    <buildCommand>
        <name>org.Eclipse.jdt.core.javabuilder</name>
        <arguments>
        </arguments>
    </buildCommand>
</buildSpec>

<natures>の場合:

<natures>
    <nature>org.Eclipse.jdt.core.javanature</nature>
</natures>

ステップ5:Ctrl + Sを押してファイルを保存します。

ステップ6:安全のため、プロジェクトを一度閉じてから再度開きます。

ステップ7:それで終わりです。あなたは揺する準備ができています!

解決策が参考になったかどうかコメントで述べてください。

ありがとうございました。

2
Nishat Lakhani

これらは簡単な手順で、この問題を解決するのに役立ちました。

  1. Eclipseを閉じる
  2. あなたの作業スペースの中の ".metadata"フォルダを削除してください。 (隠しフォルダかもしれません)
  3. Eclipseを開きます(ワークスペースに ".metadata"フォルダが自動的に作成されます)。
  4. プログラムを実行してみてください。
2
Soham Darji

Package Explorerを開いてF5を押すか、ノートパソコンの場合はfn + F5を押してください。その理由は、Eclipseはファイルはどこかにあると考えていますが、ファイルは実際には他の場所にあると考えているからです。更新することで、両方を同じページに配置します。心配しないで、何も失うことはありませんが、特に注意が必要な場合は、ファイルをJavaプロジェクトフォルダから安全な場所にバックアップするだけです。

2
Steve Lam

リソースを移動した直後にも、このエラーを受け取りました。エラーログを確認すると、Eclipseはファイル/フォルダを削除できないため、ビルドできないことがわかりました。 "bin"(またはそれがあなたのために呼び出されたものは何でも)フォルダを手動で削除してみてください。

少なくともそれは私にとってのトリックでした。

2
Zar

同じタイプのソリューションが2種類あります。

(1)実行設定に移動します。 - 実行 - >実行設定[クラスパス]タブで次の操作を行います。

Eclipseがプロジェクト用の* .classを通常binに格納している場合は、「Advanced Add」を選択します。そこで私はプロジェクトのbinディレクトリを追加しました。

(2)最初の解決策がうまくいかない場合、それはあなたがあなたのプロジェクトを指しているjarファイルがあなたのプロジェクトに更新されていないあなたのローカルMavenリポジトリのパスを取っていることを意味それをコピーして新しいプロジェクトに貼り付けるか、単に任意のサイトからダウンロードしてビルドパスに設定します。

助けになれば幸いです。

2
navis1692

私は正しい.classpathファイルで同じ問題を抱えていて、すぐにそれがカウントされた.classpathファイルではないことがすぐにわかりました(この問題を修正した後、実行可能な.classpathファイルを元のファイルに置き換えます。クラスパスファイルはそうではなかった)

これはMavenプロジェクトなので、私がしたことは次のとおりです。

  1. mvn Eclipse:クリーン
  2. eclipseプロジェクトを削除する
  3. プロジェクトをインポートする
  4. 終わった

それが役に立てば幸い!

2
karl li

私は私の場合この問題で他の解決策を見つけました:Eclipse->Preferences->Java->Installed JREそして検索ボタンを押してください。 Linux /usr内のフォルダーを選択すると、EclipseはすべてのJVMを見つけました。

最新のJVMを選択してください。私の場合は解決しました。

1
Karol Preiskorn

Eclipseプロジェクトから ".jar"ファイルを右クリックして "build path"ではなく "delete"をクリックして削除したときに、この問題が発生しました。

解決するために、私は以下のステップを試みました:

1-プロジェクトを右クリック

2-ビルドパス - >ビルドパスの設定

3-図書館

4 - そこからjarファイルを削除します(私はそれの横に赤いマークが表示されます)。

私はそれが役に立つことを願っています。

1
Alisa

それが私のために働くステップに従ってください。1. Eclipseからビルドパスの設定(Build Path)を削除します。2.リフレッシュ3.addビルドパスの追加 - >ソース - >フォルダの追加 - > srcを確認します。

1
Mohasin Mujawar

私はEclipseの酸素を使っていましたが、問題はいつでも解決しません。後で私はあなたのEclipseワークスペースが非ASCII文字を含むディレクトリの下にある場合にはどういうわけかjavaw.exeがbinディレクトリに到達できないことを発見しました。ディレクトリ名がWork_Helloで、アンダースコア記号を削除し、プロジェクトをクリーンアップして構成を実行するとします。これは私のために働きました。参照: https://www.Eclipse.org/forums/index.php/t/1093209/

1
Piyush

jreにインポートした場合、これはjdkライブラリの原因となる可能性があります。

これは私に起こりますので、インストールされているjre jarをチェックしてください

eclipseで、Windows> Preferences> Java> Installed Jres> Jreをクリックし、jarリストを見て編集した後、jdkや破損したものがないことを確認します。 enter image description here

1
user889030

私は同じエラーに直面した、エラーはインポートされた外部jarファイルの一つにありました。そのjarプロジェクトを削除した後私のために働いた。

1
knowledge flow

以下の answer同じスレッド に答えているので、実際に私はそれぞれの.jarファイルを手動で一つずつ追加することによってこの問題の本当の根本原因を見つけました。そう。

原因:
私たちは人間なので、私たちは本当に怠惰な生き物であり、それを実行するためのショートカットキーと「すべて選択」のオプションがあるのはそのためです。そのため、PDF世代が必要なアプリ用に約30種類以上のjarファイルを追加する必要がある場合は、このようにしました。

プロジェクトを右クリック - >プロパティ - >Javaビルドパス

  • その中で「ライブラリ」タブを選択し、次にJARを追加します...「、ディレクトリツリーを見て、(私のJARファイルとlicence.txtファイルはプロジェクトの「lib」フォルダにありました) "lib"フォルダの中で、私はすべてのファイルを選択して追加しました。間違っていたのはそれでしょうか?それは"lib"フォルダ内のすべてのファイルの追加に成功しましたが、Eclipseはこの方法でJARファイルとして追加した可能性のあるテキストファイルを宣言しようとし続けているため、リンクを作成できません。

つまり、2つの選択肢があります。

  1. JARファイルだけを好きな場所で選択してください。テキストやその他の種類のファイルを追加するのが面倒ではありません。 または、

  2. JARを追加したい特定のフォルダー内のすべてのファイルを選択してから、JAR以外のファイルを1つずつ削除します。

注:
「ライブラリ」を追加しようとしていたときに、その方法でJAR以外のファイルをプロジェクトに追加した場合は、次のように表示されます。

enter image description here

そしてコンパイルしようとし続けると、最後に、それはあなたに以下のエラーを与えるでしょう:

エラー:メインクラスer.waterapp.some.MainFileGivenByConfigarationが見つからないか、読み込めませんでした。

  • MainFileGivenByConfigarationは、アプリケーションの開始点として使用するためにConfigurationから選択した任意のクラスです。

だからこれはそれです!私がそこにいる人を手助けし、また彼に多くの時間を節約する機会を与えたかもしれないことを願っています。 :-)

乾杯、
ランディカ

1
Randika Vishman

Windows 8がJava_HOMEの設定に関係なくパスの更新を拒否したため、この問題が発生しました。Java-versionは、Java_HOMEに格納されているJDKではなく、最後のJDKを報告しました。私はようやく '%Java_HOME%/ bin;'を入れることで動作するようになりました。末尾ではなく、パス環境変数の先頭にあります。それから私はEclipseを立ち上げました、そして突然それがこれの前にうまくいったとき、それは私のメインクラスを見つけることができませんでした。それを修正するために私がしたことはプロジェクトのプロパティに入り、ライブラリタブから既存のJREライブラリを削除し、 "Add Library"ボタンを選択して新しいJREを追加し、そして私のデフォルトJREとしてJRE 7をインストールするためのプロンプトに従った。今、すべてが仕事に戻りました。

1
Howard Roark

私は同じ問題を抱えていました。数時間を費やしてようやく私のワークスペースをローカルフォルダに戻し、今やすべてがうまくいった。多分他の人のために時間を節約できます。ジョン

1
user1362446

インストールされているJREをJRE 7ではなくJDK 7に変更したときに思いつきました。すべてがコンパイルされましたが、Eclipseからは何も実行できませんでした。

修正します。前のJRE7に戻ります。

1
Vortex

私のプロジェクトで新しいパッケージ( "テーブル")を作成した後も同じ問題がありました。

私はWindow -> Show View -> General -> Error Logに行き、Ive read error:

JavaBuilder handling ImageBuilderInternalException while building: PizzaService

org.Eclipse.core.internal.resources.ResourceException: Resource '/PizzaService/bin/tables' already exists.

結局のところ、私はこの新しいパッケージと同じ名前の別のソースフォルダにテキストファイルを持っていました。そのため、テキストファイルの名前を "Tables"から "Tabless"に変更したので、もう一度プロジェクトを実行できます。

お役に立てれば。

1

Eclipse-Marsについても同じ問題がありました。作業プロジェクトがあり、それをGitリポジトリに入れました。それは実行を壊した(実際のJavaファイルはgitの場所に移動され、もはや私のワークスペースには存在しなかったためだと思う)私はMaven> Updateをしました、そして、それは今うまくいきます。

1
AixNPanes

Eclipseが.classファイルをクリーンアップしますが、それらを再度ビルドしないため、これは主に起こります。 binフォルダを確認してください。空のはずです。それからあなたはチェックするべきです、他に何かがある、それはビルドを失敗させています。クラスパスにjarを追加した可能性がありますが、Eclipseはこれを見つけることができません。

1
user3687451

私はこれを解決するために数十時間を費やしました、そして最後に私を助けたのは私が私のパッケージの中に私がTODO、READMEそして重要のような同じ名前のファイル。私は自分のプロジェクトのすべてのパッケージでそれらのファイルの名前を変更し(TODO_packagename1、TODO_packagename2 ...のように)、終了したらEclipseを閉じて、それを再開しました。それから働いた!

1
Paul Efford

Ctrl + Shift + R(Windows)でクラスの名前を変更すると、クラスが参照されているすべての場所でクラスの名前が変更され、反対の手順を実行します。私の場合、それは環境内のいくつかのプロジェクトで同じクラス名が原因であり、Eclipseはどれがどれであるかを理解するのに苦労しました。

1
Nikolay Frick

私はこのエラーの非常に奇妙な理由がありました。ローカルのMavenリポジトリ(〜/ .m2/...)で参照されているファイルの一部が破損していました。これらを削除してからアプリケーションを再構築したところ、うまくいきました。 Mavenの新しいバージョンを使用すると、破損したファイルが公開されました。

0
Mr. Mundkowsky

最後にしたのはEclipseで、プロジェクト全体をコピーしてもう一度貼り付ける(そしてもちろん別の名前を付ける)ことです。次にコピーしたプロジェクトを実行します。 Javaアプレットとして実行するのか、Javaアプリケーションとして実行するのかを尋ねる必要があります。 Javaアプリケーションをクリックすると、それは再び動作するはずです。その後、元のプロジェクトを削除して、現在のプロジェクトの名前を元の名前に変更できます。

0
user5910225

構成を変更したり再インストールしたりする前に、パッケージの名前を変更してみてください。
数行のコード以外何も変更せずにこの奇妙なエラーを得ました。再構築はうまくいきませんでした、binフォルダが空であってもEclipseはクラスを再作成しませんでした。パッケージの名前をtestからtest1に変更した後、Eclipseは再構築を開始し、すべて問題ありませんでした。

0
user1813222

私は私の小さなJavaスニペットで同様の問題を経験していました

これが私がしたことです。

  1. 私はMainクラスのすべての内容をコピーしました。

  2. メインクラスGreeterを削除しました。

  3. 右クリック - > Greeterという名前の新しいJavaクラスを作成

    クラス作成時にmainメソッドを含める

  4. ほら!!!メインクラスGreeter.Javaを右クリックすることで、Javaアプリケーションとして実行することができました。

ただ好奇心から私は再びGreeterクラスを削除してメインメソッドをチェックせずに新しいクラスを作成しようとしました、そしてそれは私が右クリックでJavaアプリケーションオプションとして実行されることを示しませんでした。

0
spacedev