Javaでxfyコンポーネントを開発するときの環境設定

1. はじめに

この文書では、Javaを使用してxfyコンポーネントを作成するときの、開発環境の設定について説明します。なお、説明ではOSにWindows XPを使用しています。そのほかのOSの場合は、ファイルのパスを適宜読み替えてください。

1.1. 使用する開発環境

Javaでxfyコンポーネントを作成するときは、Java 2 Platform Standard Edition (J2SE) 5.0の開発環境J2SE Development Kit (JDK) 5.0 以上が必要です。また、統合開発環境として、Eclipse 3.1.0以上を使用することをおすすめします。この文書では、JDK 5.0 Update 6とEclipse 3.1.0を使用して説明します。

なお、このチュートリアルでは、xfyユーザーエージェントとして、xfy Basic Editionに含まれるxfy Clientを使用します。xfy Clientは、C:\Program Files\Justsystems\xfy Basic Editionフォルダにインストールされているものとします。

1.2. 前提とする知識

この文書は、以下に挙げた項目に対してある程度の知識がある方を読者に想定しています。

  • Javaプログラミング
  • Eclipseの使用方法

2. xfyコンポーネント開発の流れ

Eclipseを使用してxfyコンポーネントを開発するときの作業の流れは、おおよそ次の段階で進められます。

  1. プロジェクトの作成
  2. xfyコンポーネントの作成
  3. xfyコンポーネントの実行・デバッグ

以下、段階ごとに手順を説明します。

3. プロジェクトの作成

最初に、xfyコンポーネントを開発するためのプロジェクトをEclipseで作成します。以下、Eclipse上でxfyコンポーネントのプロジェクトを作成する手順を、例を交えて説明します。なお、この手順説明の例で作成するxfyコンポーネントのプロジェクト名は「xfy-sample」とします。また、xfyコンポーネント名は「Sample」とします。

  1. [File - New - Project]を選択します。
    [New Project]ウィザードの[Select a wizard]画面が表示されます。
    [New Project]ウィザードの[Select a wizard]画面
  2. [Wizards]で[Java Project]を選択して[Next >]をクリックします。
    [New Java Project]ウィザードの[Create a Java Project]画面が表示されます。
  3. [Create a Java Project]画面の設定項目を、次のように設定します。
    Project Name
    xfyコンポーネントのプロジェクト名を入力します。
    この手順説明例では、作成するxfyコンポーネントのプロジェクト名を「xfy-sample」とします。
    Contents
    [Create new project in workspace]を選択します。
    JDK Compliance
    [Use default compiler compliance (Currently 1.4)]を選択します。
    Project layout
    [Create separate source and output folders]を選択します。
    [New Java Project]ウィザードの[Create a Java Project]画面
  4. [Next >]をクリックします。
    [Java Settings]画面が表示されます。
    [New Java Project]ウィザードの[Java Settings]画面
  5. [Libraries]シートを選択します。
    [Libraries]シート
  6. [Add External JARs]をクリックします。
    外部のJARファイルを選択するための、ファイル選択ダイアログボックスが表示されます。
  7. Categories.jarを選択します。
    Categories.jarは、xfy Clientをインストールしたフォルダ内のbin\common\com.xfyフォルダにあります。
  8. [OK]をクリックします。
    [JARs and class folders on the build path]にCategories.jarが追加されます。
  9. 6~8と同じ手順で、xfyCore.jarを追加します。
    xfyCore.jarは、xfy Clientをインストールしたフォルダ内のbinフォルダにあります。
    [Libraries]シートの設定後
  10. そのほか、xfy Clientをインストールしたフォルダ内のbin\common以下にあるJARファイルが必要ならば、6~8と同じ手順で追加します。
  11. [Finish]をクリックします。

以上でxfyコンポーネントのプロジェクトを作成する手順は完了です。

4. xfyコンポーネントの作成

xfyコンポーネントの作成は、Javaのソースコードなど必要なファイルを作成し、それらをまとめてxfyプラグインJARファイルを作成することで行います。

4.1. 必要なファイルの作成

xfyコンポーネントを作成するのに必要なのは、次のファイルです。

Javaのソースコード
xfyコンポーネントのプログラムコードを記述した、Javaソースファイルです。この文書では、Javaによるxfyコンポーネントのプログラムコード作成方法は説明しません。別途用意されているxfyコンポーネントの開発に関する文書を参照してください。
プラグインマニフェストファイル
xfyコンポーネントの構成情報を記述するXMLファイルです。記述方法は、「プラグインマニフェストファイルリファレンス」をご覧ください。なお、xfy Developer's Toolkitでは、プラグインマニフェストファイルを作成・編集するために、Plug-in Manifestコンポーネントが提供されています。
Antビルドスクリプトファイル
作成したxfyコンポーネントのプログラムコードをコンパイルしたり、コンパイルされたclassファイルからJARファイルを作成したりするための手順や設定が記述されたファイルです。Javaで作成したxfyコンポーネントを実行するには、Antビルドスクリプトを実行して、xfyコンポーネントのJARファイルを作成する必要があります。また、Javaのプログラムコードを変更したときにも、Antビルドスクリプトを実行してxfyコンポーネントのJARファイルを更新する必要があります。
Antビルドスクリプトを作成するときは、下記のAntビルドスクリプトを元に、環境に合わせて修正してください。
<?xml version="1.0" standalone="yes" ?>
<!--
    Sampleコンポーネント用ビルドファイル
    -->
<project name="Sample" default="all" basedir=".">

    <!-- コンポーネント名 -->
    <property name="component.name"   value="Sample" />
    <!-- ベンダ名 -->
    <property name="component.vendor" value="com.example" />
    <!-- 使用JDKのバージョン -->
    <property name="component.jdk"    value="1.5" />
    <!-- xfy の場所 -->
    <property name="xfy.home"         value="C:/Program Files/Justsystems/xfy Basic Edition" />

    <target name="all" description="bin以下にすでにクラスファイルがあると仮定してjarを作成します">
        <antcall target="copyResource" />
        <antcall target="compile" />
        <antcall target="jar" />
    </target>

    <target name="copyResource" description="src 以下の java ファイル以外を bin 以下に配置します">
        <copy todir="bin">
            <fileset dir="src" excludes="**/*.java"/>
        </copy>
    </target>

    <target name="compile" description="src 以下の java ファイルを bin 以下に配置します">
        <javac
            srcdir="src"
            destdir="bin"
            debug="on"
            debuglevel="lines,vars,source"
            target="${component.jdk}"
            source="${component.jdk}">
            <classpath>
                <fileset dir="${xfy.home}/bin">
                    <include name="xfyCore.jar" />
                    <include name="common/com.xfy/Categories.jar"/>
                </fileset>
            </classpath>
        </javac>
    </target>

    <target name="jar" description="bin 以下を jar にまとめます">
        <mkdir dir="dist"/>
        <jar jarfile="dist/${component.name}.jar" basedir="bin" />
    </target>

    <target name="clean" description="bin, jar ファイルを削除します">
        <delete dir="bin" includeemptydirs="true"/>
        <delete>
            <fileset dir=".">
                <include name="dist/${component.name}.jar" />
            </fileset>
        </delete>
    </target>
</project>
なお、Eclipseで上記のAntビルドスクリプトのターゲット「clean」を実行した直後にデフォルトターゲット「all」を実行すると、エラーが発生します。これを回避するにはEclipseの環境設定を変更する必要があります。「4.3. EclipseのJDKの設定」の設定手順に基づいて、Eclipseの環境を設定してください。

4.2. xfyプラグインJARファイルの作成

「4.1. 必要なファイルの作成」で作成したファイルを、xfyプラグインの内部構造に合わせた形式でJARファイルとして圧縮すると、xfyプラグインJARファイルを作成できます。xfyプラグインの内部構造について、詳しくは「xfyプラグイン情報仕様」の「xfyプラグインの内部構造」をご覧ください。

「4.1. 必要なファイルの作成」で示したAntビルドスクリプトをそのまま使用する場合は、作成したファイルを次のように配置してAntビルドスクリプトを実行すると、xfyプラグインJARファイルを作成できます。

xfy-sample                : プロジェクト
    +- src                   : ソースフォルダ
    |   +- com               : Javaのソースコード群
    |   |   +- example
    |   |       +- sample
    |   |          *.java
    |   +- manifest.xml      : マニフェストファイル
    +- build.xml             : Antビルドスクリプト

Antビルドスクリプトを実行したら、以下の場所にxfyプラグインJARファイルが作成されます。

xfy-sample
    +- dist
        +- Sample.jar        : 作成されたxfyプラグインJARファイル

プロジェクトディレクトリの下にあるdistフォルダは、Antによって作成されます。そのため、Eclipseでxfy-sampleプロジェクトの「更新」を行うまでは、distフォルダは表示されません。

作成したxfyプラグインJARファイルは、xfyユーザーエージェントの実行環境にインポートして、xfyユーザーエージェントを再起動することで使用できるようになります。

4.3. EclipseのJDKの設定

Windows XPにJDKとJREをインストールした場合、Eclipseの標準の設定のままで「4.1. 必要なファイルの作成」で示したAntビルドスクリプトを実行すると<javac>タスクでエラーが発生することがあります。これはEclipseではデフォルトのJavaの実行環境としてJREを使用するため、JDKのjavac.exeへのパスが設定されていないためです。この節では、「3. プロジェクトの作成」で作成したプロジェクトのJava実行環境としてJDKを指定する手順を説明します。

  1. EclipseのJavaパースペクティブの[パッケージ・エクスプローラー]で「xfy-sample」を選択します。
  2. [Project - Properties]を選択します。
    [Properties for xfy-sample]ダイアログボックスが表示されます。
    [Properties for xfy-sample]ダイアログボックス
  3. ダイアログボックスの左側にあるツリーで、[Java Build Path]を選択します。
  4. ダイアログボックスの右側の[Libraries]シートを選択します。
  5. [JARs and class folders on the build path]で「JRE System Library [jre1.5.0_06]」を選択します。
    [JRE System Library [jre1.5.0_06]選択]
  6. [Edit]をクリックします。
    [Edit Library]ダイアログボックスが表示されます。
  7. [Alternate JRE]を選択して、[Installed JREs]をクリックします。
    [Edit Library]ダイアログボックス
    [Preferences]ダイアログボックスが表示されます。
    [Preferences]ダイアログボックス
  8. [Add]をクリックします。
    [Add JRE]ダイアログボックスが表示されます。
  9. [JRE name]に[jdk1.5.0_06]と入力します。
    [Add JRE]ダイアログボックス
  10. [JRE home directory]の右側にある[Browse]をクリックします。
    フォルダを選択するダイアログボックスが表示されます。
  11. JDK 5.0 Update 6をインストールしたフォルダを選択します。
    JDKを標準の設定でインストールした場合、選択するフォルダは「C:\Program Files\Java\jdk1.5.0_06」です。
  12. [OK]をクリックします。
    [Add JRE]ダイアログボックスに戻ります。
    [Add JRE]ダイアログボックス
  13. [OK]をクリックします。
    [Preferences]ダイアログボックスに戻ります。
  14. [Installed JREs]で、「jdk1.5.0_06」の左端にあるチェックボックスをオンにします。
  15. [OK]をクリックします。
    [Edit Library]ダイアログボックスに戻ります。
  16. [Alternate JRE]に「jdk1.5.0_06」が表示されていることを確認して、[Finish]をクリックします。
    [Properties for xfy-sample]ダイアログボックスに戻ります。
    [Properties for xfy-sample]ダイアログボックス
  17. [OK]をクリックします。
  18. Antビルドスクリプトが正常に動作することを確認します。

5. xfyコンポーネントのデバッグ

作成したxfyコンポーネントをEclipseを使用してデバッグするには、Eclipse上でxfy Clientを起動します。Eclipse上でxfy Clientを起動するには、Eclipseでの設定(起動設定)が必要です。起動設定は、Eclipse上で初めてxfy Clientを実行するときに設定すると、以降はその設定を使用することができます。この章では、起動設定の手順を説明します。なお、この手順説明では、「3. プロジェクトの作成」で作成したプロジェクトをデバッグする場合を例にして説明します。

  1. [Run - Run]を選択します。
    [Run]ダイアログボックスが表示されます。
    [Run]ダイアログボックス
  2. [Configurations]に表示されているツリーで、[Java Application]を選択します。
  3. [New]をクリックします。
    [Configurations]に表示されているツリーの[Java Application]に[New_configuration]が追加されます。また、文字列入力欄[Name]と起動設定のための複数のタブシートが[Run]ダイアログボックスに表示されます。
  4. [Name]に、作成する起動設定の名前を入力します。
    起動設定には任意の名前を付けることができます。この手順説明では、起動設定の名前を「xfy」とします。
  5. [Main]シートの設定項目を設定します。
    次のように設定します。
    Project
    xfyコンポーネントのプロジェクト名を入力します。
    Main class
    com.xfy.startup.XfyStartup」を入力します。
    Include libraries when searching for a main class
    オンにします。
    Include inherited mains when searching for a main class
    オフにします。
    Stop in main
    オフにします。
    [Main]シートの設定
  6. [Classpath]シートを選択します。
    [Classpath]シート
  7. [Classpath]シートの[Classpath]に表示されているツリーで、対象のプロジェクトへのクラスパスを選択します。
    この手順説明例では、[xfy-sample]を選択します。
  8. [Remove]をクリックします。
    プロジェクトへのクラスパスが削除されます。次に
  9. [Classpath]に表示されているツリーで、[User Entries]を選択します。
    プロジェクトへのクラスパス削除後
  10. [Add External JARs]をクリックします。
    外部のJARファイルを選択するための、ファイル選択ダイアログボックスが表示されます。
  11. xfyClient.jarを選択します。
    xfyClient.jarは、xfy Clientをインストールしたフォルダ内のbinフォルダにあります。
  12. [OK]をクリックします。
    [Classpath]シートの[Classpath]に表示されているツリーの[User Entries]に、xfyClient.jarが追加されます。
    クラスパスにxfyClient.jarを追加
  13. [Source]シートを選択します。
    [Source]シート
  14. [Add]をクリックします。
    [Add Source]ダイアログボックスが表示されます。
    [Add Source]ダイアログボックス
  15. [Java Project]を選択して、[OK]をクリックします。
    [Project Selection]ダイアログボックスが表示されます。
  16. デバッグするプロジェクトの左側に表示されているチェックボックスをオンにします。
    この手順説明例では、[xfy-sample]の左側に表示されているチェックボックスをオンにします。
    [Project Selection]ダイアログボックス
  17. [OK]をクリックします。
    [Source]シートの[Source Lookup Path]に、選択したプロジェクトが追加されます。
    起動設定を完了した状態
  18. [Arguments]シートを選択します。
  19. [VM arguments]に「-Dcom.xfy.place.XfyPlace.debug=true」と「-Dcom.xfy.startup.XfyStartup.without-jvm-restart=true」を入力します。
    それぞれの意味は、次のとおりです。
    -Dcom.xfy.place.XfyPlace.debug=true
    デバッグ出力を有効にします。
    -Dcom.xfy.startup.XfyStartup.without-jvm-restart=true
    起動パラメータを調整して再起動する処理を無効にします。このパラメータを指定しないと、デバッグを実行できません。
    [Arguments]シート
  20. [Run]をクリックします。
    起動設定が保存されます。そのあと、xfy Clientが起動し、xfyコンポーネントをデバッグできる状態になります。
    [Run]の代わりに[Close]をクリックすると、起動設定が保存され、Eclipseの画面に戻ります。この場合、xfy Clientは起動しません。