今日は Eclipse RCP を勉強してみた

(この記事は2006/01/07に書かれたものです)

先日は monad を調べるはずが、(日記には書いていませんが)いつの間にかプログラム意味論からプロセス代数のほうに脱線してしまい、頭のリハビリにはなったものの、すっかり疲れてしまいました。今日は気分を変えて Eclipse の GUI を触ってみることに。

僕は技評の Eclipse パーフェクトマニュアル Vol.5 の特集をベースにテストプログラムをつくってみましたが、Web 上の情報源としては Japan WG の RCP Tutorial: Part 1 が情報の鮮度が高いでしょう。豆蔵の記事 もなかなか丁寧でいいのですが、RCP のスタンドアロン実行環境のあたりなど、微妙に古いので注意が必要です。

で、雑誌の記事どおり作っていたのですが、RCP runtime binary を使用したスタンドアロンの実行でハマってしまいました。正しいアプリケーション名を configuration/config.ini の eclipse.application に記述しているのに

 java.lang.RuntimeException: Application "hoge.application"
 could not be found in the registry.

と出てきて起動しないのです。さんざん悩んだあげく、plug-in の export を jar ではなく、ディレクトリで行うようにしてみたら、一発で原因が分かりました。plug-in の jar の中に plugin.xml が入ってなかったのです……orz。plug-in project の build.properties の bin.includes に plugin.xml が含まれていなかったのが原因でした。どうやら、なんのテンプレートも使わずに新規に作ると、初期状態で plugin.xml が存在しないために bin.includes にも含まれないようです。ハマり道。

それにしても、Eclipse はやっぱり快適ですね。Java は煩雑なことがいろいろあるのですが、Eclipse を最大限に活用するとそこがほとんど自動で入るので、ライトウェイトなスクリプト言語で書くのと同じくらいの快適さでプログラムが組めます。型名を調べたり、継承した abstract な関数のスケルトンをもらさず調べたり、全ての使用しているクラスについて import 文をいちいち書いたり、と Eclipse なしの Java プログラミングを思うだけで気が遠くなります……。