Ant ビルド ファイルを使用したアプリケーションのビルド

コマンドラインからビルド プロセスを実行すると、標準の IDE ベースのアプリケーション ビルドを複製した Ant スクリプトがエクスポートされます。この Ant スクリプトを使用して、コマンドライン ビルドを実行できます。なお、生成された Ant スクリプトを変更しても、Workshop 内のビルド プロセスは変更されません。

Ant ビルド スクリプトの機能

エクスポートされた ant スクリプトには、モジュール アーカイブをビルド、アセンブル、ステージング、および生成するための一連の標準対象が含まれます。特定のスクリプトでサポートされる対象を表示するには、コマンド ant -projecthelp を実行します。次の表に、これらの対象の機能をまとめます。

サポートされる Ant ターゲット

対象依存関係詳細
build   ソース ファイルをコンパイルする。結果はパッケージ化されない。EAR プロジェクトの ant スクリプト内の build 対象によって、すべての子モジュール プロジェクトが依存関係順にビルドされる。この対象では、対象プロジェクトが特定のランタイムに関連付けられていることが必要とされる。
assemble build (「build」には正式な依存関係は存在しないが、その対象は assemble より前に呼び出す必要がある) 反復的開発用にプロジェクトをアセンブルする。「ear.root」プロパティを指定する必要がある。EAR プロジェクトの Ant スクリプト内の assemble 対象によって、すべての子モジュール プロジェクトがアセンブルされる。
stage build (「build」には正式な依存関係は存在しないが、その対象は stage より前に呼び出す必要がある) プロジェクトのすべてのリソースをコピーし、アーティファクトをビルドして、アーカイブを作成できる状態にする。ステージングのディレクトリは、「staging.dir」プロパティを使用してオーバーライドできる。EAR プロジェクトの Ant スクリプト内の stage 対象によって、すべての子モジュール プロジェクトがステージングされる。
archive stage すべてのプロジェクトのリソースおよびビルド アーティファクトを含むアーカイブを作成する。アーカイブの名前と場所は、「archive.path」プロパティを使用してオーバーライドできる。archive 対象を EAR スクリプトから実行すると EAR ファイルがビルドされ、Web プロジェクトから生成された Ant スクリプトから実行すると WAR ファイルが生成される。
clean   build 対象によって生成されたファイルおよびディレクトリを削除する。

ワークスペース メタデータ ファイル

ワークスペースにアクセスできないリモート マシンで Ant スクリプトを実行する場合は、まずワークスペース メタデータ ファイルを生成する必要があります。

このファイルを使用すると、ワークスペースの .metadata ディレクトリ内の絶対パスを相対パス化できます。たとえば、以下のディレクトリを相対パス化できます。

ワークスペース メタデータ ファイル内に定義した変数は、実行時に -D 構文を使用して Ant スクリプトに渡す必要があります。

Ant ビルド スクリプトの生成

Ant ビルド スクリプトおよびワークスペース メタデータ ファイル (オプション) をエクスポートするには

  1. [ファイル|エクスポート|Workshop ビルド スクリプト|Workshop Ant スクリプト] の順に選択します。[次へ] をクリックします。
  2. [Ant スクリプトのエクスポート] ペインで、Ant スクリプトを生成するプロジェクトを選択し、ワークスペース メタデータ ファイルを作成するかどうかを決定します。
  3. [終了] をクリックするとスクリプトが生成されます。
    ワークスペースの .metadata ディレクトリの絶対パスを相対化する変数を定義するには、[次へ] をクリックします。

  4. [パス] 画面には、wl.homeworkspace.dir が自動的に設定されます。この画面の目的は、エクスポート済みの workspace.xml ファイルに書き込まれた絶対パスを相対化する変数を定義することです。下側のボックスには、残っている絶対パスが表示されます。新たに定義した変数の絶対パス部分がこれらのいずれかに一致すると、その絶対パスがボックスから削除されます。ここで定義したすべての変数は、実行時に -D 構文を使用して Ant スクリプトに渡す必要があります。

    [終了] をクリックするとスクリプトが生成されます。

ワークスペース メタデータ ファイルをエクスポートするには

[ファイル|エクスポート|Workshop ビルド スクリプト|Workshop Ant スクリプト用ワークスペース メタデータ] の順に選択します。

このウィザードでは Ant スクリプトはエクスポートされません。これは、ワークスペース メタデータをエクスポートするためにのみ使用します。通常、ビルド スクリプトがすでにエクスポート済みで、ワークスペースへの変更がなされた後に、ワークスペース メタデータを更新するために使用します。

トラブルシューティング

Ant ビルド スクリプトの実行

Ant スクリプトを実行してプロジェクトをビルドするには

  1. プロジェクトの Ant スクリプトを生成します。
  2. wl.home/common/bin/commEnv.cmd (Linux の場合は wl.home/common/bin/commEnv.sh) を実行してシェルの実行環境をコンフィグレーションします。

    あらかじめ commEnv.cmd (Linux の場合は commEnv.sh) を実行せずに Ant スクリプトを使用することは、現時点ではサポートされていません。
  3. Eclipse プロジェクト ディレクトリを変更します。
  4. 次の例に従って、必要な Ant ターゲットを実行します (例では、プロジェクト アーカイブを作成しています)。

    ant build archive -Dworkspace=workspacepath -Dworkshop.lib.dir=libraryDirPath

    各パラメータには以下を指定します。

    workspacepath には、ワークスペース フォルダの絶対パス (Windows であれば、たとえば C:/MyWork/Workspaces/MyApp) を指定するか、ワークスペース メタデータ ファイルの絶対パスとファイル名を指定します。

    libraryDirPath には、Ant スクリプトで使用される Workshop ライブラリがあるディレクトリの絶対パスを指定します。Workshop ライブラリをエクスポートするには、[Ant スクリプトのエクスポート] ウィザードの [ライブラリのエクスポート] チェック ボックスを選択するか、[Workshop ライブラリのエクスポート] ウィザードを使用します ([ファイル|エクスポート|一般|Workshop ライブラリ])。

    パス名にスペースが含まれている場合は、次の例のようにパス名を二重引用符で囲む必要があります。

    ant build -Dworkspace="C:\Documents and Settings\MyWorkspace"

Ant スクリプトを使用して EAR ファイルをビルドするには

  1. EAR 内のプロジェクトごとに Ant スクリプトを生成します。
  2. EAR プロジェクトの Ant スクリプトを生成します。
  3. wl.home/common/bin/commEnv.* を実行してシェルの実行環境をコンフィグレーションします。
  4. EAR プロジェクトの Eclipse ディレクトリを変更します。
  5. 次の例に従って、EAR プロジェクトの Ant スクリプト内の必要な対象を実行します。

    ant build archive -Dworkspace=workspacepath

Ant スクリプトをリモート マシンで実行するには

  1. すでに説明した手順に従って、ワークスペース メタデータ ファイルを生成します。
  2. 必要なプロジェクト Ant ビルド スクリプトを生成します。
  3. 以下のファイルをリモート マシンにコピーします。

    • Ant スクリプト
    • ワークスペース メタデータ ファイル
    • プロジェクトや EAR ファイルに含まれるすべてのファイル (ただし、build ディレクトリのコンテンツを除く)
  4. すでに説明したプロジェクトまたは EAR のビルド手順に従います。ただし、-Dworkspace= 引数には、ワークスペース ディレクトリの場所ではなく、ワークスペース メタデータ ファイルの場所を指定します。

注意事項と実装に関するメモ

同じワークスペースでのさまざまな対象ランタイムの処理

プロジェクトがさまざまなランタイム バージョンを対象としているワークスペースがあるとします。たとえば、あるプロジェクトでは、WebLogic Server バージョン 9.2 を対象とし、別のプロジェクトではバージョン 10.0 を対象としている場合です。

このようなワークスペースをビルドすると、次のようなビルド エラーが発生することがあります。

    BUILD FAILED
    C:\bea\workshop10\user_projects\workspaces\myWorkspace\webEAR\build.xml:72: Property wl.home2 is not defined!

このエラーを回避するには、スクリプトの起動時に -D 構文を使用して、スクリプトのエクスポート プロセスで作成されたすべてのパス変数を指定する必要があります。指定するパス変数のリストは、[ファイル|エクスポート|Workshop ビルド スクリプト|Workshop Ant スクリプト] からアクセスできるスクリプト生成ダイアログの 2 ページ目に用意されています。WL_HOME 環境変数はスクリプトによって自動的に読み込まれるため、wl.home を指定する必要はありません。ただし、次に示すように、2 番目のランタイムの場所には wl.home2 を指定する必要があります。

    ant clean build archive
        -Dworkspace=C:\bea\workshop10\user_projects\workspaces\myWorkspace
        -Dworkshop.lib.dir=C:\bea\workshop10\user_projects\workspaces\myWorkspace\workshop-lib
        -Dwl.home2=C:/bea/workshop92/wlserver_92

WebLogic EJB プロジェクトのプロパティは、生成された Ant ビルド スクリプトからは見えない。

[プロジェクト|プロパティ|WebLogic EJB] を使用して WebLogic EJB プロジェクトで設定できる「Jar の設定」プロパティと EJBC フラグは、IDE ビルドの実行時にのみ使用されます。これらの設定は、エクスポートされた Workshop Ant ビルド スクリプトの実行時には表示されません。

エクスポートされた Ant スクリプトを使用してプロジェクトをビルドする前に、EJB Java ソース ファイルで weblogic.ejbgen.JarSettings アノテーションを使用して、必要なすべての「Jar の設定」プロパティを指定し、「weblogic.ejbc」が実行されるビルド スクリプトに必要な EJBC フラグを直接追加します。

関連トピック

ビルド プロセスについて

Maven POM ファイルを使用したアプリケーションのビルド

JSP ファイルのプリコンパイル

Apache Ant オンライン マニュアル


さらにヘルプが必要ですか。質問は workshop ニュース グループまでお寄せください。