3

eclipse プラグインの開発は初めてです。jar プロジェクトを Eclipse プラグインに変換しました。しかし、私はそれをどのように活用するか、本当にわかりません。いくつかの基本的な疑問、

  1. プログラムのプラグインで利用可能なメソッドを呼び出す方法は??
  2. 私たちのプログラムで使用するために、すべての公開されたメソッドを公開する必要がありますか??

私のアイデアは、2 つの数値を合計するプラグインのようなものです。ユーザーはプラグインをインストールし、このプラグインで add(x,y) メソッドを呼び出します。含まれている jar からメソッドを呼び出すのと同じです。

プラグインの作成方法を説明するチュートリアルはたくさんありますが、同じ使用方法が見つかりませんでした。

4

2 に答える 2

0

これはあなたが説明している状況だと思います...

Eclipse Java (JDT) ユーザーにインストールしてもらいたいプラグインがあります。Java プロジェクトでは、プラグインで Java クラスの一部を使用できるようにしたいと考えています。

Java では、クラスはクラス ローダーによってクラスパス上で検出される必要があります。JDT は、「クラスパス コンテナー」を通じてプロジェクトのクラスパスを管理します。この最初の例は、Java プロジェクトを作成するときです。JDT は「JRE System Library」をコンテナとして追加します。これは、パッケージ エクスプローラーのプロジェクトの下に表示されます。

この別の例は、JUnit プラグインです。JUnit テスト ケースを JDT プロジェクトに初めて追加すると、JUnit ライブラリをビルド パスに追加するように求めるダイアログが表示されます。(これは、JUnit プラグインの New File Wizard の明示的な動作です。) 同意すると、Package Explorer に「JUnit 4」コンテナが表示されます。

さらに別の例: PDE は JDT の機能を拡張します。プラグイン プロジェクトを作成すると、PDE は、プラグイン マニフェストで宣言したプラグインの依存関係に基づいて管理する「プラグインの依存関係」コンテナーを追加します。

ユーザーは、お気に入りのライブラリ用に独自のクラスパス コンテナーを作成して参照できます。

しかし、もちろん、ライブラリ プロバイダとして、JUnit プラグインのようにライブラリを提供する必要があります。これを行うには、プラグインで次のようにします。

  1. JDT Core への依存関係を追加する
  2. この拡張ポイントから拡張します: org.eclipse.jdt.core.classpathContainerInitializer

ウィザード ページでクラスパス コンテナー エントリを作成または編集する場合:

  1. JDT UI への依存関係を追加する
  2. この拡張ポイントから拡張します。org.eclipse.jdt.ui.classpathContainerPage

一部のプラグインは、ウィザード ページを使用してコンテナーをカスタマイズします (JUnit では JUnit 3 または 4 を選択できます)。コンテナに関する情報を提供するためだけにページを使用する人もいます。

JDT ドキュメントのトピックJava ビルド パスの設定を参照し、使い慣れた例のソース コードを相互参照してください。

ここに良い記事があります: Simplify Eclipse classpaths using classpath containers

質問に答えるには:

  1. initializeのサブクラスのメソッドを使用して、クラスをクラスパスに追加する必要がありますClasspathContainerInitializer
  2. はい、クライアントが呼び出すメソッドは public であり、クラスパスに追加するクラスのメンバーである必要があります。
于 2013-06-27T18:29:16.847 に答える