Oracle® Fusion Middleware Oracle WebLogic Serverアプリケーションの開発 11g リリース1(10.3.6) B60990-04 |
|
![]() 前 |
![]() 次 |
次の項では、WebLogic分割開発ディレクトリ環境を使用してWebLogic Server Java EEアプリケーションをビルドする手順を説明します。
wlcompile
Antタスクは、javacコンパイラを起動して、アプリケーションのJavaコンポーネントを分割開発ディレクトリ構造にコンパイルするために使用します。wlcompile
の基本的な構文では、helloWorldEar
サンプルからの次のコマンドのようにソース・ディレクトリとビルド・ディレクトリを識別します。
<wlcompile srcdir="${src.dir}" destdir="${dest.dir}"/>
注意: デプロイメント記述子は、Java EE 5において必須ではなくなりました。そのため、展開形式のモジュール・ディレクトリにデプロイメント記述子がない場合は、.war または.jar 接尾辞を使用してモジュール・タイプを指定する必要があります。wlcompile でモジュールを認識できるようにするため、接尾辞は必須でとなっています。.war 接尾辞は、そのモジュールがWebアプリケーション・モジュールであることを示します。.jar 接尾辞は、そのモジュールがEJBモジュールであることを示します。 |
このタスクを使用すると発生するイベントの順序を次に示します。
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クラスを参照できるようになります。
より複雑なエンタープライズ・アプリケーションでは、wlcompileタスクで自動的に処理できないコンパイルの依存関係がある場合があります。ただし、wlcompileでincludeおよびexcludeオプションを使用して独自の依存関係を実行できます。includesおよびexcludesプロパティはエンタープライズ・アプリケーション・モジュール名(エンタープライズ・アプリケーションのソース・ディレクトリ内のサブディレクトリ名)を受けて、これらをコンパイル処理に含めたり除外したりします。
helloWorldEar
サンプルからの次の行は、appStartup
モジュールがコンパイルから除外されることを示しています。
<wlcompile srcdir="${src.dir}" destdir="${dest.dir}" excludes="appStartup"/>
表4-1では、wlcompile
固有のAntタスクの属性を示します。
表4-1 wlcompile Antタスクの属性
属性 | 説明 |
---|---|
srcdir |
ソース・ディレクトリ。 |
destdir |
ビルド/出力ディレクトリ。 |
classpath |
|
includes |
ビルドから特定のディレクトリを含めることができます。 |
excludes |
ビルドから特定のディレクトリを除外できます。 |
librarydir |
クラスパスに追加するための共有Java EEライブラリのディレクトリを指定します。第9章「共有Java EEライブラリおよびオプション・パッケージの作成」を参照してください。 |
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
に以下を組み込みます。
JDKディレクトリ内のlib\tools.jar
ファイル、または使用するJava開発キットに必要なその他の標準Javaクラス。
Apache Antのexamples.property
ファイル(サンプル環境用)。このファイルについては、samples\server\examples\src\examples\examples.htmlにあるAntを使用してのサンプルの構築に関するWebLogic Serverドキュメントで説明されています。
サード・パーティJavaツールまたはプログラムがインポートするサービスのクラス。
コンパイルするプログラムによって参照されるその他のアプリケーション・クラス。
library
要素は、第9章「Java EEライブラリおよびオプション・パッケージの作成」で説明されているように、アプリケーションのビルドに必要な共有Java EEライブラリを表すモジュールの名前および必要に応じてバージョン情報を定義する要素(オプション)です。「wlappcを使用したモジュールおよびアプリケーションのビルド」で説明されているwlcompile
とwlappc
の両方で、library
要素を使用できます。
名前とバージョン情報は、ライブラリ要素の属性(「表4-2」を参照)として指定されます。
表4-2 ライブラリの属性
属性 | 説明 |
---|---|
file |
Java EEライブラリのファイル名(必須)。 |
name |
必須のJava EEライブラリの名前(オプション)。 |
specificationversion |
ライブラリで必要な仕様のバージョン(オプション)。 |
implementationversion |
ライブラリで必要な実装のバージョン(オプション)。 |
specificationversion
とimplementationversion
の両方のフォーマットの選択肢については、「エンタープライズ・アプリケーションでの共有Java EEライブラリの参照」で説明します。次の出力では、サンプルlibrary
参照を示します。
<library file="c:\mylibs\lib.jar" name="ReqLib" specificationversion="920" implementationversion="1.1" />
weblogic.appc
コンパイラは、デプロイメント用にJSPとコンテナ固有のEJBクラスを生成し、現在のJava EE仕様に準拠するためにデプロイメント記述子を検証します。appc
は、モジュール間の検証チェックに加え、アプリケーション・レベルのデプロイメント記述子とアプリケーション内の個々のモジュールの間の検証チェックを実行します。
また、オプション・パッケージは、appc
でJava EE共有ライブラリとしてサポートされます。そのため、オプション・パッケージ参照の検索では、アプリケーションおよびそのモジュールのすべてのマニフェストがスキャンされます。
wlappc
は、weblogic.appc
コンパイラに対するAntタスク・インタフェースです。次の項では、wlappc
のオプションと使用方法について説明します。weblogic.appc
とwlappc
Antタスクは、エンタープライズ・アプリケーションを記述するapplication.xml
デプロイメント記述子に表示されている順番でモジュールをコンパイルします。
表4-3では、wlappc
固有のAntタスクのオプションを示します。これらのオプションは、weblogic.appc
コマンド・ライン・オプションと似ていますが、いくつかの点で違いがあります。
注意: weblogic.appc オプションのリストについては、「weblogic.appcリファレンス」を参照してください。
「wlcompileとwlappcのライブラリ要素」を参照してください。 |
表4-3 wlappc Antタスクの属性
オプション | 説明 |
---|---|
|
標準の使用方法メッセージを出力します。 |
version |
|
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 |
生成された |
librarydir |
クラスパスに追加するための共有Java EEライブラリのディレクトリを指定します。第9章「共有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
でコンパイルするファイルが格納されます。
<wlappc source="${dest.dir}" />
以下は、表4-3の2つのオプション(idl
およびidlOrverWrite
)を呼び出すwlappc
Antタスク・コマンドの例です。
<wlappc source="${dest.dir}"idl="true" idlOrverWrite="true" />
appc
とwlappc
では、構文にいくつかの違いがあります。appcの場合、コマンド内に存在するフラグはブールです。wlappc
の場合、コマンド内にフラグが存在するということは、引数が必要であることを意味します。
以下はそれを説明するための、同一コマンドの例です。1つ目がappc
コマンド、2つ目がwlappc
コマンドです。
java weblogic.appc -idl foo.ear <wlappc source="${dest.dir} idl="true"/>
次の項では、appc
コンパイラのコマンド・ライン・バージョンを使用する方法について説明します。weblogic.appc
コマンド・ライン・コンパイラは、記述子で見つかった警告やエラーをすべて報告し、関連のモジュールをすべてEARファイルにコンパイルします。このファイルは、WebLogic Serverにデプロイできます。
appc
の実行には、次の構文を使用します。
prompt>java weblogic.appc [options] <ear, jar, or war file or directory>
appc
の使用可能なオプションは次のとおりです。
オプション | 説明 |
---|---|
|
標準の使用方法メッセージを出力します。 |
-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 |
高度な使用オプションを出力します。 |