2008年7月19日土曜日

既存のライブラリJARをプラグイン化する

オープンソースやフリーウェアとして公開されているものや、自作のものなど、既存のライブラリJARファイルをプラグインあるいはRCP開発で使用したい場合、そのJARファイルの保管先をビルドパスに追加するのではなく、ライブラリ自体をラップするプラグインを作成し、そのプラグインを参照するようにする。
必ずしも、外部ライブラリをプラグイン化しなければならない訳ではないが、そのライブラリを使用するプラグイン毎に内部に持つようにすると、重複して持つことになるため、無駄になる上、ライブラリ自体の更新が発生すると、煩雑な作業が必要となる。
この方法はEclipse自体も行っている方法で、JUnitやApache Luceneなどがプラグイン化して使用されている。

方法は、
1.メニューから[New]-[Project]を選択する。

2.[Plug-in Development]のカテゴリにある[Plug-in from existing JAR archives]を選択し[Next]


3.次のページでプラグインに含めるライブラリを指定し、[Next]


4.プラグインプロジェクトの設定を行い、[Finish]


5.これでライブラリプラグインのプロジェクトが作成できたので、適宜、プラグインマニフェストエディターのruntimeタブで公開(エクスポート)するパッケージを指定する。


6.最後にプラグインとしてexportをする。

こうして作成したライブラリプラグインを使用するには、通常のプラグインと同様に、pluginsディレクトリに配置し、使用する側のプラグインでは、プラグインマニフェストエディターのdependenciesタブでRequired Plug-insに追加すればよい。

ちなみに、Eclipse3.1以前は、plugin.xmlに<runtime>要素とその子として<library>要素を追加し、その中に公開するパッケージを記述していたが、3.2以降はMANIFEST.MFにExport-Package:として記述するようになっている。

参考:
Eclipse Platform Plug-in manifest ver3.0 ver3.2

0 件のコメント: