はじめに
Eclipseにはいろいろ便利なプラグインがあり、Javaの開発環境として非常に普及していますが、そのプラグイン自体の開発方法はまだ書籍も少なく、ネットにも情報が少ないのが現状だと思います。そこで本稿では、Eclipse上で「Web Services経由でGoogle検索を行うプラグイン」の作成を通じて、Eclipseプラグイン開発の基本的な流れを紹介したいと思います。
対象読者
- Eclipseプラグインの開発に興味がある方
必要な環境
今回は以下の環境で開発・確認を行っています。
OS | Windows XP Home Edition SP2 |
Javaのランタイム環境 | JRE1.5.0_06 |
プラグインの開発環境 | Eclipse3.1.2 |
デバッグログの制御 | Log4j |
Web Servicesのランタイムライブラリ | Apache Axis |
また、今回作成するプラグインはGoogle Web APIsを使用します。『Google SOAP Search API (beta)』にアクセスし、Google Web APIs Developer's Kitのダウンロードと、検索時に必要になるキーコードを取得しておいてください。このGoogle Web APIs Developer's KitにはGoogle Web APIsのライブラリとwsdlファイルが格納されています。
作成するプラグインの概要
今回作成するGoogleプラグインの概要はおおむね下の通りです。
- Eclipseでコーディング中にエディタ上のテキストを選択して、エディタのポップアップメニューからGoogle Web APIsを呼び出し、Google検索をすることができます。
- 検索結果一覧から、ダブルクリックやポップアップメニューでOSのWebブラウザを起動し、選択したサイトを表示することができます。
- 検索結果一覧から、デスクトップなどへドラッグ&ドロップしてURLショートカットを作ることができます。
- プラグインはすべてEclipse3.1系向けに作成しています。
プラグインの構成
作成するGoogleプラグインは、次のようなプラグインで構成されています。
- nu.mine.kino.plugin.axis
Web Services経由でGoogle検索を行うため、Web Servicesのランタイム環境が必要です。このプラグインはApache Axisのjarファイルを格納しているプラグインです。
- nu.mine.kino.plugin.log4j
作成するプラグインは、デバッグログなどにすべてLog4jを用いています。このプラグインはLog4jのjarファイル「log4j-1.2.13.jar」を格納しているのに加え、ログ出力の設定ファイルを選択する設定画面を実装してあります。
- nu.mine.kino.plugin.google.core
Googe Web APIsを使用してGoogle検索を行うビジネスロジックを実装するプラグインです。GUIに依存しないコアな機能を提供します。
- nu.mine.kino.plugin.google.ui
上のコアプラグインを用いたGUIを提供するプラグインです。
上のプラグインのうち、「nu.mine.kino.plugin.log4j」「nu.mine.kino.plugin.axis」に関してはライブラリ的な扱いなので、詳細は割愛させていただきます。詳しくはソースコードを参照してください。また、この2つのプラグインは、Googleプラグインを作成していく上で使用しますので、あらかじめaxisとlog4jのプラグイン・プロジェクトをワークスペースにインポートしておいてください。
またGoogle Web APIs Developer's Kitには既にWeb Services Proxyが同梱されていますが、今回は勉強をかねてwsdlファイルからWeb Services Proxyを自動生成してみました。詳細は割愛させていただきますが、Axisのライブラリにクラスパスを通して
java org.apache.axis.wsdl.WSDL2Java -p nu.mine.kino.googleapis GoogleSearch.wsdl
とすることでProxyのJavaソースを作成することができます。今回はこのProxyを使ってGoogle検索を行いたいと思います。