0

拡張ポイントを定義することにより、Eclipse プラグインは、サード パーティのプラグインが元のプラグインに新しい拡張機能を追加する方法を提供します。私の質問は、元のプラグインが拡張ポイントを定義しておらず、このプラグインを依存関係としてプラグインに追加した場合、プラグインのコードでそのクラスを使用できますか? これを試しました。拡張タブに拡張ポイントが見つかりませんでした。ただし、元のプラグインで拡張ポイントが定義されていない場合でも、元のプラグインに属するクラスをコードにインポートできます。

例えば

originalplugin.class をインポートします。

元のプラグインでは拡張ポイントが定義されていないため、コンパイル エラーが発生することを期待していましたが、コンパイル エラーなしでプラグインのコードにそのクラスの一部をインポートできます。この背後にある理由を理解したい。拡張ポイントがプラグインによって定義されていない場合でも、そのクラスの一部を引き続き使用できる理由は何ですか? 制限は何ですか?副作用は何ですか?私はEclipseプラグイン開発の完全な初心者です。私の質問があまりにも基本的または無知である場合は、お詫び申し上げます。ありがとう。

4

1 に答える 1

1

別のプラグインでクラスを使用するために拡張ポイントは必要ありません。ただし、プラグインがその.xml 内のExport-Packageリストで宣言したパッケージ内のクラスのみを使用できますMANIFEST.MF。これは、プラグインによって提供される多くのクラスを使用する通常の方法です。

多くのプラグインは、限られた数のクラスのみをエクスポートします。おそらく、プラグインが定義する拡張ポイントに必要なインターフェースだけです。他のプラグインは、従来の JAR のように機能するため、多くのクラスをエクスポートします。

于 2013-11-13T15:04:17.700 に答える