2009-07-30 19 views
0

Eclipse 3.5 rcpアプリケーションで奇妙で新しい問題が発生しました。 1つのプラグインから従属プラグインへ。大きな問題はありませんが、突然アプリケーションがクラス例外(またはNoClassDefFoundError - 正確にはわかりませんが、それを調べて投稿を編集します)で苦情を申し立てます。Eclipse rcpクラスローダーhell:動かされたクラスはまだコンパイル時に表示されますが、実行時にはそれ以上ありません

私はダブル、トリプル、 ..私が知っているすべてをチェックし、マニフェストに正しいバージョン番号の依存関係が含まれており、パッケージが他のプラグインに正しくエクスポートされていることを確認しました。 Eclipse jdkは(コンパイラのエラー/警告はありません)、クラスがインスタンス化され、 'MyClass()'ステートメントを検査するために 'CTRL + SHIFT + I'を使用するポイントまでデバッグすると、インスペクタツールチップsaisそのクラスを解決することはできません。

ご意見、ご感想、ご鞭撻をよろしくお願い申し上げます。

答えて

0

はただ偶然に問題を解決(これはバグの報告と機能が...あったかどうかかすかなアイデアを持っていない):私はにクラスを移動し、プラグインのプロジェクトは、Mavenを持っていた

src/main/javaとsrc/test/javaの両方のフォルダがソースフォルダとして定義されています。

私はほぼすべてを試したかったので、この構造を、単一のソースフォルダとしてのsrcだけの典型的なEclipse構造に戻しました。

そして、別の「プロジェクトクリーン」の後、もう一度実行されています。奇妙な...?

編集ヒントの

おかげで、フォルダ構造は、この記事では、単にタイプミスでした。

さらに多くの苦労の末、私はこれが日食問題であることは非常に肯定的です。上記の「解決」の後、まもなく、アプリケーションは同じプラグインの から他のクラスをロードできませんでした。ガリレオのワークベンチを再起動すると、問題はなくなりました。

+1

Maven構造体は実際にはtest/main/javaではなくsrc/test/javaです。 –

1

Eclipse 3.5 Galileo RCPアプリケーションでNoClassDefFoundErrorが発生しました。ここで、あるプラグインにsrc/javaフォルダがあり、別のプラグインで使用するためにパッケージをエクスポートする必要がありました。

解決策は、ランタイムクラスパスの一部としてbinフォルダを含めることが判明しました。通常は、それだけを含める必要があります。フォルダ。

関連する問題