WebLogic Server アプリケーションの開発

     前  次    新しいウィンドウで目次を開く   
ここから内容の開始

分割開発ディレクトリでのアプリケーションのビルド

以下の節では、WebLogic 分割開発ディレクトリ環境を使用して WebLogic Server Java EE アプリケーションをビルドする手順を説明します。

 


wlcompile を使用したアプリケーションのコンパイル

wlcompile Ant タスクは、javac コンパイラを起動して、アプリケーションの Java コンポーネントを分割開発ディレクトリ構造にコンパイルするために使用します。wlcompile の基本的な構文では、helloWorldEar サンプルからの次のコマンドのようにソース ディレクトリとビルド ディレクトリを識別します。

<wlcompile srcdir="${src.dir}" destdir="${dest.dir}"/>
注意 : デプロイメント記述子は、JEE 5 において必須ではなくなりました。そのため、展開形式のモジュール ディレクトリにデプロイメント記述子がない場合は、.war または .jar サフィックスを使用してモジュール タイプを指定する必要があります。wlcompile でモジュールを認識できるようにするため、サフィックスは必須でとなっています。.war サフィックスは、そのモジュールが Web アプリケーション モジュールであることを示します。.jar サフィックスは、そのモジュールが EJB モジュールであることを示します。

このタスクを使用すると発生するイベントの順序を次に示します。

  1. wlcompile は、Java コンポーネントを出力ディレクトリにコンパイルします。
  2. WL_HOME\samples\server\examples\build\helloWorldEar\APP-INF\classes\

    WL_HOME は、WebLogic Server のインストール ディレクトリです。

  3. wlcompile は EJB を構築し、以前に構築された Java モジュールを、コンパイラのクラスパスに自動的に含めます。これにより、EJB は手動でクラスパスを編集する必要なしに Java モジュールを呼び出せます。
  4. 最後に、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
クラスパスに追加するための共有 Java EE ライブラリのディレクトリを指定する。「共有 Java EE ライブラリおよびオプション パッケージの作成」を参照。

ネストされた javac オプション

wlcompile Ant タスクは、コンパイル時の動作を変更するネストされた javac オプションを受け入れます。たとえば、次の wlcompile コマンドは非推奨の警告を無視し、デバッグを有効にします。

<wlcompile srcdir=”${mysrcdir}” destdir=”${mybuilddir}”>
   <javac deprecation=”false” debug=”true”
   debuglevel=”lines,vars,source”/>
</wlcompile>

コード コンパイル用のクラスパスの設定

ほとんどの WebLogic サービスは Java EE 仕様に基づいており、標準 Java EE パッケージを通じてアクセスします。WebLogic サービスを使用するプログラムのコンパイルに必要な Sun、WebLogic、およびその他の Java クラスは、インストールした WebLogic Server の lib ディレクトリの weblogic.jar ファイルにパッケージ化されます。weblogic.jar ファイル以外にも、以下のものをコンパイラの CLASSPATH に組み込みます。

wlcompile と wlappc のライブラリ要素

library 要素は、「共有 Java EE ライブラリおよびオプション パッケージの作成」で説明されているように、アプリケーションのビルドに必要な共有 Java EE ライブラリを表すモジュールの名前および必要に応じてバージョン情報を定義する要素 (省略可能) です。library 要素は、wlcompilewlappc (「wlappc を使用したモジュールおよびアプリケーションのビルド」を参照) の両方で使用できます。

名前とバージョン情報は、ライブラリ要素の属性 (表 4-2 を参照) として指定されます。

表 4-2 ライブラリの属性
属性
説明
file
Java EE ライブラリのファイル名 (必須)。
name
必須の Java EE ライブラリの名前 (省略可能)。
specificationversion
ライブラリで必要な仕様のバージョン (省略可能)。
implementationversion
ライブラリで必要な仕様の実装 (省略可能)。

specificationversionimplementationversion の両方のフォーマットの選択肢については、「エンタープライズ アプリケーションでの共有 Java EE ライブラリの参照」で説明します。次の出力では、サンプル library 参照を示します。

<library file=”c:\mylibs\lib.jar” name=”ReqLib” specificationversion=”920” implementationversion=”1.1” />

 


wlappc を使用したモジュールおよびアプリケーションのビルド

weblogic.appc コンパイラは、デプロイメント用に JSP とコンテナ固有の EJB クラスを生成し、現在の Java EE 仕様に準拠するためにデプロイメント記述子を検証します。appc は、モジュール間の検証チェックに加え、アプリケーションレベルのデプロイメント記述子とアプリケーション内の個々のモジュールの間の検証チェックを実行します。

また、オプション パッケージは、appc で Java EE 共有ライブラリとしてサポートされます。そのため、オプション パッケージ参照の検索では、アプリケーションおよびそのモジュールのすべてのマニフェストがスキャンされます。

wlappc は、weblogic.appc コンパイラに対する Ant タスク インタフェースです。以下の節では、wlappc のオプションと使い方について説明します。weblogic.appcwlappc 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
生成されたクラス ファイルに行番号を追加し、デバッグを支援する。
writeInferredDescriptors
アプリケーションまたはモジュールに、デプロイメント記述子がアノテーション情報と共に格納されることを指定する。
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
クラスパスに追加するための共有 Java EE ライブラリのディレクトリを指定する。「共有 Java EE ライブラリおよびオプション パッケージの作成」を参照。
compiler <java.jdt>
使用する Java コンパイラを選択する。デフォルトは JDT。
debug
デバッグ情報をクラス ファイルにコンパイルする。
optimize
最適化を有効にしてコンパイルする。
nowarn
警告なしでコンパイルする。
verbose
冗長情報を出力してコンパイルする。
deprecation
非推奨となった呼び出しについて警告する。
normi
Symantec の sj にフラグを渡す。
runtimeflags
Java 実行時にフラグを渡す。
classpath <path>
コンパイル中に使用するクラスパスを選択する。
clientJarOutputDir <dir>
生成されたクライアント jar ファイルを配置するディレクトリを指定する。これが設定されていないと、生成された jar ファイルは JVM が実行しているディレクトリと同じ場所に配置される。
advanced
高度な使用オプションを出力する。

wlappc Ant タスクの構文

wlappc Ant タスクを使用するための基本的な構文では、送り先ソース ディレクトリの場所を決定します。このディレクトリには、wlappc でコンパイルするファイルが格納されます。

<wlappc source=”${dest.dir}” />

以下は、表 4-3 の 2 つのオプション (idl および idlOrverWrite) を呼び出す 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>]]>
共有 Java EE ライブラリのカンマ区切りのリスト。省略可能な名前とバージョン文字列情報は、「エンタープライズ アプリケーションでの共有 Java EE ライブラリの参照」で説明されている形式で指定する必要がある。
-writeInferredDescriptors
アプリケーションまたはモジュールに、デプロイメント記述子がアノテーション情報と共に格納されることを指定する。
-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>
コンパイル中に使用するクラスパスを選択する。
-clientJarOutputDir <dir>
生成されたクライアント jar ファイルを配置するディレクトリを指定する。これが設定されていないと、生成された jar ファイルは JVM が実行しているディレクトリと同じ場所に配置される。
-advanced
高度な使用オプションを出力する。


ページの先頭       前  次