近年、Jakarta ProjectやSourceForgeなどで開発されているソフトウェアを利用するケースが増えてきています。このようなプロジェクトで提供されているJava用のライブラリの多くは、クラスファイルを圧縮したJAR形式で配布されています。
普通に利用するだけなら、ライブラリの使い方を知っていれば十分です。しかし、障害が発生して調査が必要な場合や機能を拡張したい場合には、ソースコードの確認が必要になるケースも出てきます。
本稿では、Webアプリケーションフレームワーク「Struts」を例に、Eclipseでライブラリとソースコードを関連付ける方法を紹介します。
オープンソースプロジェクトでは、実行モジュールとともにソースコードも公開しています。今回の例で使用する、Strutsのソースコードも以下のサイトから入手できます。
このサイトの左側フレームの[Downloads]から[Source Code]をクリックし、目的のソースコードをダウンロードします。ここでは、Strutsの「1.1 zip」を選択し、任意のローカルフォルダに「jakarta-struts-1.1-src.zip」をダウンロードします。
なお、ダウンロードしたZIPファイルを展開する必要はありません。ZIP形式もしくはJAR形式なら、圧縮ファイルのままでも内部のソースコードを参照できるからです。
ライブラリとソースコードを関連付けるには、パッケージ・エクスプローラーから「struts.jar」を選択して右クリックし、コンテキストメニューから[プロパティー(R)]を選択します。
次に、[Javaソースの添付]ウィンドウで、ソースコードをダウンロードした場所を指定します。パスを直接入力しなくても、[ワークスペース(W)]ボタンをクリックして、プロジェクトの場所を指定できます。ソースコードがプロジェクトの配下にない場合は、[外部ファイル(F)]ボタンをクリックしてファイル、もしくは[外部フォルダー(O)]ボタンをクリックしてフォルダを指定できます。
[OK]ボタンをクリックすれば、設定完了です。パッケージ・エクスプローラーの場合、ライブラリのアイコンにメモ帳のような形のマークが表示されるようになります。なお、プロジェクトのプロパティを開き、[Javaのビルドパス]の[ライブラリー]から「struts.jar」を開き、[ソース添付]→[編集]を選択することでも同様の設定が行えます。
ライブラリの中のソースコードを参照する方法は、ソースコードを参照したい部分にカーソルを合わせて操作を行います。
ここでは、下記のソースを使用してソースコードを表示させます。
package struts; import javax.servlet.http.*; import org.apache.struts.action.*; public final class SampleAction extends Action { public ActionForward execute( ActionMapping map, ActionForm frm, HttpServletRequest request, HttpServletResponse response) { SampleForm smpFrm = (SampleForm) frm; request.setAttribute("smpFrm", smpFrm); return map.findForward("success"); } }
SampleActionの親クラスとなるStrutsのActionクラスにカーソルを合わせて、F3キーを押します。
F3キーを押すと、エディター部に新しいウィンドウが開かれ、該当するActionクラスのソースコードが表示されます。[ナビゲート(N)]メニューから[開く(O)]を選択しても同様の操作が行えます。
拡張子が「java」ではなく、「class」になっていることに注意してください。なお、ソースを表示することはできますが、編集することはできません。
Actionクラスのexecuteメソッドにカーソルを合わせて、[ナビゲート(N)]メニューから[スーパー・インプリメンテーションを開く(S)]を選択します。 Strutsで提供されている親クラスのexecuteメソッドのソースコードを表示することができます。
こうした設定を行うことにより、プログラミング中にライブラリのソースコードを簡単に確認できるようになります。
Copyright © ITmedia, Inc. All Rights Reserved.