2

私はEclipse RCPアプリケーションを持っています。このアプリケーションは、アプリケーション外のディレクトリからクラス ファイルをロードしようとします。ただし、常に ClassNotFoundException のエラーが発生します。eclipse rcp でクラスのロードがどのように機能するかについて何か考えはありますか?

基本的にユースケースは

  1. xml ファイルの読み取り - 完了
  2. それらのxmlデータをナビゲーターに入れます-完了
  3. ユーザーがナビゲーターでデータをクリックすると、ディレクトリ内のクラスを見つけてロードを試みます - classnotfoundexception

テストJavaプロジェクトを作成し、外部クラスライブラリを追加したところ、それらを正常に見つけることができました. ただし、eclipse rcpで統合すると、そのエラーがスローされます。

4

1 に答える 1

4

Eclipse RCP アプリケーションは、OSGi クラス ローディング サポートを使用して、アプリケーション内の OSGi バンドル (プラグイン) に関連付けられたクラス ローダーを見つけます。どこかからクラスをロードしたい場合はClassLoader、ディレクトリからクラスをロードできる を作成する必要があります (おそらく を使用しますURLClassLoader)。したがって、これらのいずれかを作成し、それを使用して目的の場所からクラスをロードする必要があります。

于 2012-07-18T03:32:37.397 に答える