WebLogic Server アプリケーションの開発
分割開発ディレクトリでのアプリケーションのビルド
以下の節では、WebLogic 分割開発ディレクトリ環境を使用して WebLogic Server J2EE アプリケーションをビルドする手順を説明します。
wlddcreate を使用したデプロイメント記述子の生成
注意 : wlddcreate
Ant タスクと ddinit
コマンドは、この Beta リリースの WebLogic Server では利用できません。
wlddcreate Ant タスクでは、アプリケーションおよびアプリケーション モジュールのデプロイメント記述子を生成できます。これは生成された build.xml ファイルの一部として提供される Ant ターゲットです。weblogic.marathon.ddinit コマンドに取って代わるものです。wlddcreate 対象の出力は、次のようになります。
<target name="descriptors" depends="compile" description="Generates application and module descriptors">
<ddcreate dir="${dest.dir}" />
</target>
wlcompile を使用したアプリケーションのコンパイル
wlcompile Ant タスクは、javac コンパイラを起動して、アプリケーションの Java コンポーネントを分割開発ディレクトリ構造にコンパイルするために使用します。wlcompile
の基本的な構文では、helloWorldEar
サンプルからの次のコマンドのようにソース ディレクトリとビルド ディレクトリを識別します。
<wlcompile srcdir="${src.dir}" destdir="${dest.dir}"/>
このタスクを使用すると発生するイベントの順序を次に示します。
wlcompile は、Java コンポーネントを出力ディレクトリにコンパイルします。
WL_HOME\samples\server\examples\build\helloWorldEar\APP-INF\classes\
WL_HOME は、WebLogic Server のインストール ディレクトリです。
wlcompile は EJB を構築し、以前に構築された Java モジュールを、コンパイラのクラスパスに自動的に含めます。これにより、EJB は手動でクラスパスを編集する必要なしに Java モジュールを呼び出せます。
最後に、wlcompile は Web アプリケーション内の Java コンポーネントを、コンパイラのクラスパスにある EJB および Java モジュールと一緒にコンパイルします。これにより、Web アプリケーションは手動でクラスパスを編集する必要なしに、EJB およびアプリケーション Java クラスを参照できるようになります。
includes および excludes プロパティの使い方
より複雑なエンタープライズ アプリケーションでは、wlcompile タスクで自動的に処理できないコンパイルの依存関係がある場合があります。ただし、wlcompile で include および exclude オプションを使用して独自の依存関係を強制できます。includes および excludes プロパティはエンタープライズ アプリケーション モジュール名 (エンタープライズ アプリケーションのソース ディレクトリ内のサブディレクトリ名) を受けて、これらをコンパイル処理に含めたり除外したりします。
helloWorldEar
サンプルからの次の行は、appStartup
モジュールがコンパイルから除外されることを示しています。
<wlcompile srcdir="${src.dir}" destdir="${dest.dir}"
excludes="appStartup"/>
wlcompile Ant タスクの属性
表 4-1 では、wlcompile 固有の Ant タスクの属性を示します。
表 4-1 wlcompile Ant タスクの属性
属性
|
解説
|
srcdir
|
ソース ディレクトリ。
|
destdir
|
ビルド/出力ディレクトリ。
|
classpath
|
wlcompile で使用されるクラスパスを変更できる。
|
includes
|
ビルドから特定のディレクトリを含めることができる。
|
excludes
|
ビルドから特定のディレクトリを除外できる。
|
librarydir
|
クラスパスに追加するための共有 J2EE ライブラリのディレクトリを指定する。「共有 J2EE ライブラリおよびオプション パッケージの作成」を参照。
|
ネストされた javac オプション
wlcompile Ant タスクは、コンパイル時の動作を変更するネストされた javac オプションを受け入れます。たとえば、次の wlcompile
コマンドは非推奨の警告を無視し、デバッグを有効にします。
<wlcompile srcdir="${mysrcdir}" destdir="${mybuilddir}">
<javac deprecation="false" debug="true"
debuglevel="lines,vars,source"/>
</wlcompile>
コード コンパイル用のクラスパスの設定
ほとんどの WebLogic サービスは J2EE 仕様に基づいており、標準 J2EE パッケージを通じてアクセスします。WebLogic サービスを使用するプログラムのコンパイルに必要な Sun、WebLogic、およびその他の Java クラスは、インストールした WebLogic Server の lib
ディレクトリの weblogic.jar
ファイルにパッケージ化されます。weblogic.jar
ファイル以外にも、以下のものをコンパイラの CLASSPATH に組み込みます。
JDK ディレクトリ内の lib\tools.jar
ファイル、または使用する Java 開発キットに必要なその他の標準 Java クラス。
Apache Ant の examples.property ファイル (サンプル環境用)。このファイルについては、samples\server\examples\src\examples\examples.html にある Ant を使用してのサンプルの構築に関する WebLogic Server ドキュメントで説明されています。
サードパーティ Java ツールまたはプログラムがインポートするサービスのクラス。
コンパイルするプログラムによって参照されるその他のアプリケーション クラス。
wlcompile と wlappc のライブラリ要素
library
要素は、「共有 J2EE ライブラリおよびオプション パッケージの作成」で説明されているように、アプリケーションのビルドに必要な共有 J2EE ライブラリを表すモジュールの名前および必要に応じてバージョン情報を定義する要素 (省略可能) です。library
要素は、wlcompile
と wlappc
(「wlappc を使用したモジュールおよびアプリケーションのビルド」を参照) の両方で使用できます。
名前とバージョン情報は、ライブラリ要素の属性 (「ライブラリの属性」を参照) として指定されます。
表 4-2 ライブラリの属性
属性
|
解説
|
file
|
J2EE ライブラリのファイル名 (必須)。
|
name
|
必須の J2EE ライブラリの名前 (省略可能)。
|
specificationversion
|
ライブラリで必要な仕様のバージョン (省略可能)。
|
implementationversion
|
ライブラリで必要な仕様の実装 (省略可能)。
|
specificationversion
と implementationversion
の両方のフォーマットの選択肢については、「エンタープライズ アプリケーションでの共有 J2EE ライブラリの参照」で説明します。次の出力では、サンプル library
参照を示します。
<library file="c:\mylibs\lib.jar" name="ReqLib" specificationversion="90Beta" implementationversion="1.1" />
wlappc を使用したモジュールおよびアプリケーションのビルド
weblogic.appc
コンパイラは、デプロイメント用に JSP とコンテナ固有の EJB クラスを生成し、現在の J2EE 仕様に準拠するためのデプロイメント記述子を検証します。appc
は、モジュール間の検証チェックに加え、アプリケーションレベルのデプロイメント記述子とアプリケーション内の個々のモジュールの間の検証チェックを実行します。
wlappc は、weblogic.appc コンパイラに対する Ant タスク インタフェースです。以下の節では、wlappc
のオプションと使い方について説明します。
weblogic.appc
と wlappc
Ant タスクは、エンタープライズ アプリケーションを記述する application.xml
デプロイメント記述子に表示されている順番でモジュールをコンパイルします。
wlappc Ant タスクの属性
表 4-3 では、wlappc 固有の Ant タスクのオプションを示します。これらのオプションは、weblogic.appc コマンドライン オプションと似ていますが、いくつかの点で違いがあります。
注意 : weblogic.appc オプションのリストについては、「weblogic.appc リファレンス」を参照してください。
また、「wlcompile と wlappc のライブラリ要素」も参照してください。
表 4-3 wlappc Ant タスクの属性
オプション
|
解説
|
print
|
標準の使い方メッセージを出力する。
|
version
|
appc のバージョン情報を出力する。
|
output <file>
|
代替的な出力アーカイブまたはディレクトリを指定する。これが設定されていないと、出力はソース アーカイブまたはディレクトリに置かれる。
|
forceGeneration
|
EJB および JSP クラスを強制的に生成する。このフラグを使用しない場合、クラスが再生成されないことがある (必要ないと判断された場合)。
|
lineNumbers
|
生成されたクラス ファイルに行番号を追加し、デバッグを支援する。
|
basicClientJar
|
EJB 用に生成されたクライアント JAR のデプロイメント記述子を含まない。
|
idl
|
EJB リモート インタフェース用の IDL を生成する。
|
idlOverwrite
|
常に既存の IDL ファイルを上書きする。
|
idlVerbose
|
IDL 生成についての詳細な情報を表示する。
|
idlNoValueTypes
|
値タイプ、およびそれを含むメソッドと属性を生成しない。
|
idlNoAbstractInterfaces
|
抽象インタフェース、およびそれを含むメソッドと属性を生成しない。
|
idlFactories
|
値タイプ用にファクトリ メソッドを生成する。
|
idlVisibroker
|
Visibroker 4.5 C++ と多少の互換性を持つ IDL を生成する。
|
idlOrbix
|
Orbix 2000 2.0 C++ と多少の互換性を持つ IDL を生成する。
|
idlDirectory <dir>
|
IDL ファイルを作成するディレクトリを指定する (デフォルトでは、対象ディレクトリまたは JAR)。
|
idlMethodSignatures <>
|
IDL コードを生成するトリガとして使用されるメソッド シグネチャを指定する。
|
iiop
|
EJB 用に CORBA のスタブを生成する。
|
iiopDirectory <dir>
|
IIOP のスタブ ファイルを記述するディレクトリを指定する (デフォルトでは、対象ディレクトリまたは JAR)。
|
keepgenerated
|
生成された .java ファイルを保持する。
|
librarydir
|
クラスパスに追加するための共有 J2EE ライブラリのディレクトリを指定する。「共有 J2EE ライブラリおよびオプション パッケージの作成」を参照。
|
compiler <javac>
|
使用する Java コンパイラを選択する。
|
debug
|
デバッグ情報をクラス ファイルにコンパイルする。
|
optimize
|
最適化を有効にしてコンパイルする。
|
nowarn
|
警告なしでコンパイルする。
|
verbose
|
冗長情報を出力してコンパイルする。
|
deprecation
|
非推奨となった呼び出しについて警告する。
|
normi
|
Symantec の sj にフラグを渡す。
|
runtimeflags
|
Java 実行時にフラグを渡す。
|
classpath <path>
|
コンパイル中に使用するクラスパスを選択する。
|
advanced
|
高度な使用オプションを出力する。
|
wlappc Ant タスクの構文
wlappc Ant タスクを使用するための基本的な構文では、送り先ソース ディレクトリの場所を決定します。このディレクトリには、wlappc でコンパイルするファイルが格納されます。
<wlappc source="${dest.dir}" />
以下は、表 4-3 の 2 つのオプション (idle および idleOrverWrite) を呼び出す wlappc Ant タスク コマンドの例です。
<wlappc source="${dest.dir}"idl="true" idlOrverWrite="true" />
appc および wlappc における構文の違い
appc と wlappc では、構文にいくつかの違いがあります。appc の場合、コマンド内に存在するフラグは boolean です。wlappc の場合、コマンド内にフラグが存在するということは、引数が必要であることを意味します。
以下はそれを説明するための、同一コマンドの例です。1 つ目が appc コマンド、2 つ目が wlappc コマンドです。
java weblogic.appc -idl foo.ear
<wlappc source="${dest.dir} idl="true"/>
weblogic.appc リファレンス
以下の節では、appc
コンパイラのコマンドライン バージョンを使用する方法について説明します。weblogic.appc コマンドライン コンパイラは、記述子で見つかった警告やエラーをすべて報告し、関連のモジュールをすべて EAR ファイルにコンパイルします。このファイルは、WebLogic Server にデプロイできます。
weblogic.appc の構文
appc を実行するには、次の構文を使用します。
prompt>java weblogic.appc [options] <ear, jar, or war file or directory>
weblogic.appc のオプション
appc には以下のオプションがあります。
表 4-4 appc のオプション
オプション
|
解説
|
-print
|
標準の使い方メッセージを出力する。
|
-version
|
appc のバージョン情報を出力する。
|
-output <file>
|
代替的な出力アーカイブまたはディレクトリを指定する。これが設定されていないと、出力はソース アーカイブまたはディレクトリに置かれる。
|
-forceGeneration
|
EJB および JSP クラスを強制的に生成する。このフラグを使用しない場合、クラスが再生成されないことがある (必要ないと判断された場合)。
|
-library <file[[@name=<string>][@libspecver=<version>][@libimplver=<version|string>]]>
|
共有 J2EE ライブラリのカンマ区切りのリスト。省略可能な名前とバージョン文字列情報は、「エンタープライズ アプリケーションでの共有 J2EE ライブラリの参照」で説明されている形式で指定する必要がある。
|
-lineNumbers
|
生成されたクラス ファイルに行番号を追加し、デバッグを支援する。
|
-basicClientJar
|
EJB 用に生成されたクライアント JAR のデプロイメント記述子を含まない。
|
-idl
|
EJB リモート インタフェース用の IDL を生成する。
|
-idlOverwrite
|
常に既存の IDL ファイルを上書きする。
|
-idlVerbose
|
IDL 生成についての詳細な情報を表示する。
|
-idlNoValueTypes
|
値タイプ、およびそれを含むメソッドと属性を生成しない。
|
-idlNoAbstractInterfaces
|
抽象インタフェース、およびそれを含むメソッドと属性を生成しない。
|
-idlFactories
|
値タイプ用にファクトリ メソッドを生成する。
|
-idlVisibroker
|
Visibroker 4.5 C++ と多少の互換性を持つ IDL を生成する。
|
-idlOrbix
|
Orbix 2000 2.0 C++ と多少の互換性を持つ IDL を生成する。
|
-idlDirectory <dir>
|
IDL ファイルを作成するディレクトリを指定する (デフォルトでは、対象ディレクトリまたは JAR)。
|
-idlMethodSignatures <>
|
IDL コードを生成するトリガとして使用されるメソッド シグネチャを指定する。
|
-iiop
|
EJB 用に CORBA のスタブを生成する。
|
-iiopDirectory <dir>
|
IIOP のスタブ ファイルを記述するディレクトリを指定する (デフォルトでは、対象ディレクトリまたは JAR)。
|
-keepgenerated
|
生成された .java ファイルを保持する。
|
-compiler <javac>
|
使用する Java コンパイラを選択する。
|
-g
|
デバッグ情報をクラス ファイルにコンパイルする。
|
-O
|
最適化を有効にしてコンパイルする。
|
-nowarn
|
警告なしでコンパイルする。
|
-verbose
|
冗長情報を出力してコンパイルする。
|
-deprecation
|
非推奨となった呼び出しについて警告する。
|
-normi
|
Symantec の sj にフラグを渡す。
|
-J<option>
|
Java 実行時にフラグを渡す。
|
-classpath <path>
|
コンパイル中に使用するクラスパスを選択する。
|
-advanced
|
高度な使用オプションを出力する。
|