コマンドラインからビルド プロセスを実行すると、標準の IDE ベースのアプリケーション ビルドを複製した Ant スクリプトがエクスポートされます。この Ant スクリプトを使用して、コマンドライン ビルドを実行できます。なお、生成された Ant スクリプトを変更しても、Workshop 内のビルド プロセスは変更されません。
Ant ビルド スクリプトの機能
エクスポートされた ant スクリプトには、モジュール アーカイブをビルド、アセンブル、ステージング、および生成するための一連の標準対象が含まれます。特定のスクリプトでサポートされる対象を表示するには、コマンド ant -projecthelp を実行します。次の表に、これらの対象の機能をまとめます。
サポートされる Ant ターゲット
![](../../images/callout_top_left.gif) |
![](../../images/sp.gif) |
![](../../images/callout_top_right.gif) |
![](../../images/sp.gif) |
対象 | 依存関係 | 詳細 |
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 対象によって生成されたファイルおよびディレクトリを削除する。 |
|
![](../../images/sp.gif) |
![](../../images/callout_bottom_left.gif) |
![](../../images/sp.gif) |
![](../../images/callout_bottom_right.gif) |
ワークスペース メタデータ ファイル
ワークスペースにアクセスできないリモート マシンで Ant スクリプトを実行する場合は、まずワークスペース メタデータ ファイルを生成する必要があります。
このファイルを使用すると、ワークスペースの .metadata ディレクトリ内の絶対パスを相対パス化できます。たとえば、以下のディレクトリを相対パス化できます。
- WebLogic ホーム ディレクトリ
- ワークスペース ディレクトリ
- Java ホーム ディレクトリ
ワークスペース メタデータ ファイル内に定義した変数は、実行時に -D 構文を使用して Ant スクリプトに渡す必要があります。
Ant ビルド スクリプトの生成
Ant ビルド スクリプトおよびワークスペース メタデータ ファイル (オプション) をエクスポートするには
- [ファイル|エクスポート|Workshop ビルド スクリプト|Workshop Ant スクリプト] の順に選択します。[次へ] をクリックします。
- [Ant スクリプトのエクスポート] ペインで、Ant スクリプトを生成するプロジェクトを選択し、ワークスペース メタデータ ファイルを作成するかどうかを決定します。
- Workshop プロジェクト以外のプロジェクト タイプ (WTP EJB、コネクタ、アプリケーション クライアント、Java など) の場合は、[Java プロジェクト ビルド スクリプト] しか選択できない。このビルド スクリプトは、最低限の機能 (基本の build 対象と clean 対象のみ) を提供するもので、完全な EAR ビルドのコンテキスト内で直接使用することはできません。これらのプロジェクトの場合は、ユーティリティ プロジェクト用に作成したビルド スクリプトをカスタマイズするほうが簡単な場合があります。
- [ワークスペース メタデータのエクスポート] チェック ボックスでは、ワークスペース メタデータ ファイルを作成するかどうかを指定できる。ワークスペース メタデータ ファイルを使用すると、ワークスペースの .metadata ディレクトリ内の絶対パスを相対パス化して、ワークスペースにアクセスできないリモート マシンでも Ant スクリプトを実行できます。詳細については、前述の「ワークスペース メタデータ ファイル」を参照してください。
- [送り先] フィールドでは、ワークスペース メタデータ ファイルを書き込む場所を指定できます。
- [ライブラリのエクスポート] チェック ボックスでは、ライブラリが新しい場所にコピーされるかどうかを指定できる。(代わりに [ファイル|エクスポート|一般|Workshop ライブラリ] の順に選択して、ライブラリをエクスポートすることもできます)。
- [送り先] フィールドでは、ライブラリのコピー先を指定できる。
[終了] をクリックするとスクリプトが生成されます。
ワークスペースの .metadata ディレクトリの絶対パスを相対化する変数を定義するには、[次へ] をクリックします。
- [パス] 画面には、wl.home と workspace.dir が自動的に設定されます。この画面の目的は、エクスポート済みの workspace.xml ファイルに書き込まれた絶対パスを相対化する変数を定義することです。下側のボックスには、残っている絶対パスが表示されます。新たに定義した変数の絶対パス部分がこれらのいずれかに一致すると、その絶対パスがボックスから削除されます。ここで定義したすべての変数は、実行時に -D 構文を使用して Ant スクリプトに渡す必要があります。
[終了] をクリックするとスクリプトが生成されます。
ワークスペース メタデータ ファイルをエクスポートするには
[ファイル|エクスポート|Workshop ビルド スクリプト|Workshop Ant スクリプト用ワークスペース メタデータ] の順に選択します。
このウィザードでは Ant スクリプトはエクスポートされません。これは、ワークスペース メタデータをエクスポートするためにのみ使用します。通常、ビルド スクリプトがすでにエクスポート済みで、ワークスペースへの変更がなされた後に、ワークスペース メタデータを更新するために使用します。
トラブルシューティング
Ant ビルド スクリプトの実行
Ant スクリプトを実行してプロジェクトをビルドするには
- プロジェクトの Ant スクリプトを生成します。
- wl.home/common/bin/commEnv.cmd (Linux の場合は wl.home/common/bin/commEnv.sh) を実行してシェルの実行環境をコンフィグレーションします。
あらかじめ commEnv.cmd (Linux の場合は commEnv.sh) を実行せずに Ant スクリプトを使用することは、現時点ではサポートされていません。
- Eclipse プロジェクト ディレクトリを変更します。
- 次の例に従って、必要な 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 ファイルをビルドするには
- EAR 内のプロジェクトごとに Ant スクリプトを生成します。
- EAR プロジェクトの Ant スクリプトを生成します。
- wl.home/common/bin/commEnv.* を実行してシェルの実行環境をコンフィグレーションします。
- EAR プロジェクトの Eclipse ディレクトリを変更します。
- 次の例に従って、EAR プロジェクトの Ant スクリプト内の必要な対象を実行します。
ant build archive -Dworkspace=workspacepath
Ant スクリプトをリモート マシンで実行するには
- すでに説明した手順に従って、ワークスペース メタデータ ファイルを生成します。
- 必要なプロジェクト Ant ビルド スクリプトを生成します。
- 以下のファイルをリモート マシンにコピーします。
- Ant スクリプト
- ワークスペース メタデータ ファイル
- プロジェクトや EAR ファイルに含まれるすべてのファイル (ただし、build ディレクトリのコンテンツを除く)
- すでに説明したプロジェクトまたは EAR のビルド手順に従います。ただし、-Dworkspace= 引数には、ワークスペース ディレクトリの場所ではなく、ワークスペース メタデータ ファイルの場所を指定します。
注意事項と実装に関するメモ
- ワークスペース メタデータは、実行のたびに Workshop Ant スクリプトによってインポートされます。エクスポートされたワークスペース メタデータ ファイルを使用しない限り、ワークスペース メタデータへの変更 (たとえば、プロジェクトのクラスパスの変更) は、スクリプトを再生成しなくても必ず反映されます。インポートされたワークスペース メタデータの状態は、Ant の実行時にコマンドラインで -Decho.metadata=true を指定すると表示されます。
- 生成された Ant スクリプトは、コマンドラインからのビルドに使用するためのものである。Workshop 内からのビルドには使用できません。Workshop と Ant スクリプトの同時使用はサポートされておらず、ビルド エラーの原因になるおそれがあります。衝突を回避するため、Workshop を起動する前に、Ant スクリプトによるビルドからの出力を削除しておく必要があります。
プロジェクトがさまざまなランタイム バージョンを対象としているワークスペースがあるとします。たとえば、あるプロジェクトでは、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 オンライン マニュアル