Hitachi

 Hitachi Application Server V10 ユーザーズガイドWindows®用)


7.5.5 アプリケーションのアーカイブを作成する

アプリケーションのアーカイブを作成するには、ビルドファイル(build.xml)を編集してEclipseプロジェクトをビルドします。ビルドファイルはプロジェクトの種類に合わせて編集します。ここでは例として、EJBプロジェクト、動的Webプロジェクト、およびエンタープライズアプリケーションプロジェクトのアーカイブを作成します。

前提条件

想定ユーザー

操作手順

  1. [プロジェクト・エクスプローラー]ビューでbuild.xmlを追加するプロジェクトを選択して、コンテキストメニューから[新規][ファイル]を選択します。

    [新規ファイル]ダイアログが表示されます。

  2. build.xmlを追加するプロジェクトを選択した状態で、ファイル名build.xmlを入力して、[終了]ボタンをクリックします。

    選択したプロジェクトにbuild.xmlが追加されます。

    メモ

    手順3以降のビルドファイルの例では、ビルドファイルの実行時に、「VM引数」に-DHJAVAEE_HOME=Application Server for Developersのインストールディレクトリーを指定します。

  3. EJBプロジェクトのビルドファイルに次の内容を記述します。

    #

    記述例

    記述内容の意味

    1

    <?xml version="1.0" encoding="UTF-8"?>

    XML宣言です。

    2

    <project name="Bank_EJB" default="create" basedir="./">

    ビルドファイルのルートを指定します。

    3

    <property name="classPath" value="${HJAVAEE_HOME}/javaee/glassfish/lib/javaee.jar"/>

    プロパティーに、Application ServerのJava EEライブラリーのパスを指定します。

    4

    <property name="ejbArchiveName" value="Bank_EJB.jar"/>

    プロパティーに、EJBプロジェクトで生成するアーカイブファイル名の指定を追加します。

    5

    <property name="javacPath" value="${HJAVAEE_HOME}/jdk/bin/javac.exe"/>

    プロパティーに、Application Serverのjavacコマンドのパスを指定します。

    6

    <property name="tempFolder" value="ant"/>

    プロパティーに、ビルドで使用する一時ディレクトリー名を指定します。ディレクトリー名は任意の名称を指定します。

    7

    <target name="create">

    ターゲットcreateの開始タグです。

    8

    <delete file="./${ejbArchiveName}"/>

    既存のアーカイブファイルを削除します。

    9

    <mkdir dir="./${tempFolder}"/>

    ビルド用の一時ディレクトリーを作成します。

    10

    <copy todir="./${tempFolder}">

    ビルド用の一時ディレクトリーに、アーカイブに含めるファイルをコピーします。

    11

    <fileset dir="./ejbModule" excludes="**/*.java"/>

    Javaソースをコピー対象外にします。

    12

    </copy>

    10行目のコピータスクの終了タグです。

    13

    <javac srcdir="./ejbModule" destdir="./${tempFolder}" executable="${javacPath}" classpath="${classPath}"/>

    Javaソースをコンパイルします。コンパイルにはApplication Serverのjavacコマンドを使用します。

    14

    <jar destfile="./${ejbArchiveName}" basedir="./${tempFolder}"/>

    ビルド用の一時ディレクトリー以下のフォルダーおよびファイルをアーカイブして、jarファイルを生成します。

    15

    <delete dir="./${tempFolder}"/>

    ビルド用の一時ディレクトリーを削除します。

    16

    </target>

    7行目のターゲットcreateの終了タグです。

    17

    </project>

    ビルドファイルの終了タグです。

  4. EJBプロジェクトのビルドファイルを実行します。

    EJB-JARファイルが生成されます。

  5. 動的Webプロジェクトのビルドファイルに次の内容を記述します。

    #

    記述例

    記述内容の意味

    1

    <?xml version="1.0" encoding="UTF-8"?>

    XML宣言です。

    2

    <project name="Bank_Web" default="create" basedir="./">

    ビルドファイルのルートを指定します。

    3

    <property name="jspcdir" value="${HJAVAEE_HOME}/javaee/glassfish/bin"/>

    プロパティーに、Application ServerのJSP事前コンパイル用コマンドのパスを指定します。

    4

    <property name="ejbJarPath" value="../Bank_EJB/Bank_EJB.jar"/>

    プロパティーに、EJBプロジェクトのアーカイブのパスを指定します。

    5

    <property name="classPath" value="${HJAVAEE_HOME}/javaee/glassfish/lib/javaee.jar;${ejbJarPath}"/>

    プロパティーに、Application ServerのJava EEライブラリー、およびEJBプロジェクトのアーカイブのパスを指定します。

    6

    <property name="javacPath" value="${HJAVAEE_HOME}/jdk/bin/javac.exe"/>

    プロパティーに、Application Serverのjavacコマンドのパスを指定します。

    7

    <property name="tempFolder" value="ant"/>

    プロパティーに、ビルドで使用する一時ディレクトリー名を指定します。ディレクトリー名は任意の名称を指定します。

    8

    <property name="webArchiveName" value="Bank_Web.war"/>

    プロパティーに、動的Webプロジェクトで生成するアーカイブファイル名を指定します。

    9

    <property name="webRoot" value="WebContent"/>

    プロパティーに、動的Webプロジェクトのルートを指定します。

    10

    <target name="compile">

    JSP事前コンパイル用のターゲットcompileの開始タグです。

    11

    <exec executable="${jspcdir}/jspc.bat" newenvironment="true">

    Application ServerのJSP事前コンパイル用のコマンドを実行します。

    12

    <arg line='-classpath ${ejbJarPath}'/>

    JSP事前コンパイルでEJBプロジェクトのクラスを参照する場合は、EJBプロジェクトのクラスパスを指定します。

    13

    <argline='-webapp"./${tempFolder}"'/>

    コマンドの引数として、アプリケーションのルートパスを指定します。

    14

    <argline='-v'/>

    コマンドの引数として、JSPコンパイル時の詳細情報出力を指定します。

    15

    <argline='–compile'/>

    コマンドの引数として、クラスファイルの作成を指定します。

    16

    <argline='–d"./${tempFolder}/WEB-INF/classes"'/>

    コマンドの引数として、JSPコンパイル結果を出力するディレクトリーパスを指定します。

    17

    </exec>

    11行目のコマンド実行の終了タグです。

    18

    </target>

    10行目のターゲットcompileの終了タグです。

    19

    <target name="create">

    ターゲットcreateのルートを指定します。

    20

    <delete file="./${webArchiveName}"/>

    既存のアーカイブファイルを削除します。

    21

    <mkdir dir="./${tempFolder}"/>

    ビルド用の一時ディレクトリーを作成します。

    22

    <copy todir="./${tempFolder}">

    アーカイブに含めるファイルを一時ディレクトリーにコピーします。

    23

    <fileset dir="./${webRoot}" excludes="**/classes/**/*.class"/>

    Javaクラスをコピー対象外にします。

    24

    </copy>

    22行目のコピータスクの終了タグです。

    25

    <mkdir dir="./${tempFolder}/WEB-INF/classes"/>

    JSPコンパイル結果を出力するディレクトリーを作成します。

    26

    <javac srcdir="./src" destdir="./${tempFolder}/WEB-INF/classes" executable="${javacPath}" classpath="${classPath}"/>

    Javaソースをコンパイルします。コンパイルにはApplication Serverのjavacコマンドを使用します。

    27

    <antcall target="compile"/>

    JSP事前コンパイル用のターゲットcompileを呼び出します。JSP事前コンパイルをしない場合は記述しません。

    28

    <war destfile="./${webArchiveName}" basedir="./${tempFolder}" webxml="./${tempFolder}/WEB-INF/web.xml" excludes="WEB-INF/web.xml"/>

    一時ディレクトリー以下のディレクトリーおよびファイルをアーカイブして、WARファイルを生成します。

    29

    <delete dir="./${tempFolder}"/>

    一時ディレクトリーを削除します。

    30

    </target>

    19行目のターゲットcreateの終了タグです。

    31

    </project>

    ビルドファイルの終了タグです。

  6. 動的Webプロジェクトのビルドファイルを実行します。

    WARファイルが生成されます。

  7. エンタープライズアプリケーションプロジェクトのビルドファイルに次の内容を記述します。

    #

    記述例

    記述内容の意味

    1

    <?xml version="1.0" encoding="UTF-8"?>

    XML宣言です。

    2

    <project name="Bank" default="create" basedir="./">

    ビルドファイルのルートを指定します。

    3

    <property name="earArchiveName" value="Bank.ear"/>

    プロパティーに、エンタープライズアプリケーションプロジェクトで生成するアーカイブファイル名を指定します。

    4

    <property name="ejbArchiveName" value="Bank_EJB.jar"/>

    プロパティーに、EJBプロジェクトで生成するアーカイブファイル名を指定します。

    5

    <property name="ejbProjectName" value="Bank_EJB"/>

    プロパティーに、EJBプロジェクトの名称を指定します。

    6

    <property name="webArchiveName" value="Bank_Web.war"/>

    プロパティーに、動的Webプロジェクトで生成するアーカイブファイル名を指定します。

    7

    <property name="webProjectName" value="Bank_Web"/>

    プロパティーに、動的Webプロジェクトの名称を指定します。

    8

    <property name="excludes" value=".classpath、.mymetadata、.project、build-user.xml"/>

    プロパティーに、EARファイル生成時に除くファイルを指定します。

    9

    <target name="create">

    ターゲットcreateの開始タグです。

    10

    <ant antfile="../${ejbProjectName}/build.xml" dir="../${ejbProjectName}" inheritall="false"/>

    EJBプロジェクトのビルドファイルを実行します。

    11

    <ant antfile="../${webProjectName}/build.xml" dir="../${webProjectName}" inheritall="false"/>

    動的Webプロジェクトのビルドファイルを実行します。

    12

    <delete file="./${earArchiveName}"/>

    既存のアーカイブファイルを削除します。

    13

    <ear destfile="./${earArchiveName}" basedir="./" appxml="./EarContent/META-INF/application.xml"excludes="${excludes}">

    EARファイルを生成します。

    14

    <fileset file="../${ejbProjectName}/${ejbArchiveName}"/>

    EARファイルに含めるEJB-JARファイルを指定します。

    15

    <fileset file="../${webProjectName}/${webArchiveName}"/>

    EARファイルに含めるWARファイルを指定します。

    16

    </ear>

    13行目のearタスクの終了タグです。

    17

    </target>

    9行目のターゲットcreateの終了タグです。

    18

    </project>

    ビルドファイルの終了タグです。

  8. エンタープライズアプリケーションプロジェクトのビルドファイルを実行します。

    エンタープライズアプリケーションプロジェクトをビルドすると、EJBプロジェクト、動的Webプロジェクト、エンタープライズアプリケーションプロジェクトの順にビルドされて、EJB-JARファイルとWARファイルを含むEARファイルが生成されます。

  9. Administration Consoleの[アプリケーションのデプロイ]画面を使用して、作成したアーカイブファイルを実行環境にインポートします。

    開発したアプリケーションが実行環境に配布されます。