Eclipseプラグインを開発する際の注意事項
おもいつきで書きます。ウソがあったら教えてください。
Eclipseでは、複数のプロジェクトに分けて一つのプログラムを開発することができます。例えば、プログラムAを開発する際に、意味的な単位でライブラリBに切り分けて作業することができます。繊細なシステム好きな私としては、意味的に分けられそうだと感じたら、バリバリ分けて作業したいところです。そこで、AとBという二つのプロジェクトに分割して、開発することが多くなります。Aのビルドパスの設定で、Bへの依存関係を宣言すれば、良きにはからってくれます。(ま、IDEとしては当然の機能だと思います)
ところが、Eclipseプラグインからは、Eclipseプラグイン以外のプロジェクトを参照できません。つまりプラグインAがあったときに、Eclipseのランタイムに依存しない部分ライブラリBを普通のJavaプロジェクトに分けて開発する、ということができません。
Eclipse的には、ライブラリBを一度完成させて、jarファイルにしてから、プラグインAにインポートして開発する、というのがスタンダードみたいですが………ライブラリBが完成していないのに、そんなことできません!
これ、すごく困ります。
Linked Resourceを使ってなんとかしようとしていたのですが、ビルダーの設定が複雑だったりすると、上手くいきませんでした。ビルドできたりできなかったりが、「Eclipseを起動した時点で開いていたプロジェクト」によって、変化したりします。最悪。
対策はありません(知りません)。明らめてライブラリBもEclipseプラグインにしてしまいましょう。Activator.java以外がEclipseランタイムに依存しないようになっていれば、後から普通のJavaプログラムに修正するのはべつに難しくないはずです。
と自分に言いきかせる。