0

Eclipse プラグイン開発は初めてで、ナビゲーターで選択されたクラスをロードする必要があるプラグインを開発しようとしています。

私のプラグインを使用しているEclipseワークベンチにクラスをロードするために、クラスをロードする方法、またはEclipseプラグインからクラスローダーを作成する方法を教えてください。

前もって感謝します。

よろしくギラーニ

4

1 に答える 1

0

URLClassLoader を作成する必要があります。セキュリティ上の懸念に応じて、親にするかどうかを指定できます。OSGi バンドル クラス ローダーを親に持つ場合、ユーザーはその特定のバンドル内のすべてのクラスにアクセスできます。これは、ユーザーが Eclipse プラットフォーム全体への実行時アクセスを取得する (そしてプラグイン レジストリとOSGi サービスなど)。ユーザーは を呼び出すこともできますSystem.exit()。これはシングル ユーザー システムでは問題にならないかもしれませんが、特にユーザーが未検証のスクリプトをインターネットからダウンロードしている可能性がある場合は、考慮すべき事項です。

そうは言っても、次のようなことをする必要があります。

  1. URLClassLoader をインスタンス化し、ロードするクラス ファイルを含むディレクトリの URL を追加します。
  2. クラスが Eclipse ランタイムにアクセスできるようにする場合は、親ローダーを次のように設定します。 ((BundleHost) Activator.getBundleContext().getBundle()).getLoaderProxy().getBundleLoader()
  3. ユーザーがクラスをロードできる URL に対応するすべてのディレクトリを追加します。ただし、クラスをロードするには、すべての依存関係を含める必要があります。
  4. これは、必要なクラスをロードするのに十分なはずです。
于 2011-03-21T05:50:51.720 に答える