0

私はプロジェクトを実行しました...クリーンで、その後自動的に何も機能しません。

Exception in thread "main" java.lang.NoClassDefFoundError: adventure/Main
Caused by: java.lang.ClassNotFoundException: adventure.Main
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: adventure.Main. Program will exit.

私はビルドを行うことができますが、eclipseではビルドの出力がなく、ファイルを右クリックしてコンパイルを選択できないことはいくつかの利点であると彼らは考えました...

なぜ彼らはEclipseをこの管理不能な状態にできるようにしたのですか?この状態の利点は何ですか?プロジェクトのこの状態に利点がない場合、なぜそれが可能ですか?

ビルドパスを試して実行可能なJArを生成できるようにする以外は、異常なことは何もしませんでしたが、eclipseではjarを正しくパッケージ化することさえできないため、もちろん失敗しました。

クラスのコードは、とにかく見つからないため、ここに表示するのに役立ちません。

アップデート

「新しい」SVNチェックアウトを実行してプロジェクトに取り組むだけでこのエラーを再現できます。「関数」をクリーンに使用するとすぐに、Eclipseによって作業が自動的に破棄され、プロジェクトを続行できなくなります。 Eclipseを使用すると、開発者が10年を費やした世界で最もルーシーなIDEであり、コンパイルなどの基本的な機能を実行できません。

4

2 に答える 2

1

この問題がEclipseによって引き起こされた可能性は低いというコメントに同意する必要があります。それがそうであったと仮定すると、それでもなお:

Eclipseは、事後にコンパイルするのではなく、オートビルダーを使用するため、このように機能します。これは、エラーをキャッチする限りは問題ありませんが、大規模なプロジェクトでは問題になる可能性があります。単純な手動コンパイルが提供されない理由については、Eclipseはコンパイルなどの開発ステップを隠そうとしており、そのようなエラーが発生する可能性のあるケースを考慮していなかった可能性があります。

自動ビルド機能をオフにしてから再度オンにしてみてください:ウィンドウ>設定>一般>ワークスペース>自動的にビルド

それでも問題が解決しない場合:クラスを含むファイルのバックアップを作成してから削除します。バックアップから復元します。

これらのいずれかにより、Eclipseはすべてを再コンパイルする必要があります。

それでも問題が解決しない場合は、エラーはおそらくEclipseによるものではなく、クリーニングを行った後でそれを見つける機会がなかっただけです。ありがたいことに、Eclipseに再コンパイルを強制することで、エラーが表示されるはずです。

于 2012-07-20T18:34:09.643 に答える
0

たぶんそれは「理想的」ではありませんが、そのような問題では、Eclipseで私は半分になります:プロジェクトをクリーンにし、自動的にビルドします

于 2020-10-10T10:47:04.740 に答える