5 分割開発ディレクトリでのアプリケーションのビルド
wlcompile
を使用してアプリケーションをコンパイルし、wlappc
を使用してモジュールおよびアプリケーションを構築する必要があります。この章の内容は次のとおりです。
- wlcompileを使用したアプリケーションのコンパイル
wlcompile
Antタスクを使用して、javacコンパイラを起動して、アプリケーションのJavaコンポーネントを分割開発ディレクトリ構造でコンパイルできます。 - wlappcを使用したモジュールおよびアプリケーションのビルド
デプロイメント時間を短縮するには、weblogic.appc
Javaクラス(またはそれと同等のAntタスクwlappc
)を使用して、デプロイ可能なアーカイブ・ファイル(WAR、JARまたはEAR)をプリコンパイルします。weblogic.appc
を使用してプリコンパイルを実行すると、特定のヘルパー・クラスが生成され、アプリケーションが現在のJava EE仕様に準拠していることを確認するための検証チェックが実行されます。
wlcompileを使用したアプリケーションのコンパイル
wlcompile
Antタスクを使用して、javacコンパイラを起動して、アプリケーションのJavaコンポーネントを分割開発ディレクトリ構造でコンパイルできます。
wlcompile
の基本的な構文では、helloWorldEar
サンプルからの次のコマンドのようにソース・ディレクトリとビルド・ディレクトリを識別します。
<wlcompile srcdir="${src.dir}" destdir="${dest.dir}"/>
ノート:
デプロイメント記述子は、Java EE 5の時点で必須ではなくなりました。そのため、展開形式のモジュール・ディレクトリにデプロイメント記述子がない場合は、.war
または.jar
接尾辞を使用してモジュール・タイプを指定する必要があります。wlcompile
でモジュールを認識できるようにするため、接尾辞は必須でとなっています。.war
接尾辞は、そのモジュールがWebアプリケーション・モジュールであることを示します。.jar
接尾辞は、そのモジュールがEJBモジュールであることを示します。
このタスクを使用すると発生するイベントの順序を次に示します。
- includesおよびexcludesプロパティの使い方
- wlcompile Antタスクの属性
- ネストされたjavacオプション
- コード・コンパイル用のクラスパスの設定
- wlcompileとwlappcのライブラリ要素
親トピック: 分割開発ディレクトリでのアプリケーションのビルド
includesおよびexcludesプロパティの使い方
より複雑なエンタープライズ・アプリケーションでは、wlcompileタスクで自動的に処理できないコンパイルの依存関係がある場合があります。ただし、wlcompileでincludeおよびexcludeオプションを使用して独自の依存関係を実行できます。includesおよびexcludesプロパティはエンタープライズ・アプリケーション・モジュール名(エンタープライズ・アプリケーションのソース・ディレクトリ内のサブディレクトリ名)を受けて、これらをコンパイル処理に含めたり除外したりします。
helloWorldEar
サンプルからの次の行は、appStartup
モジュールがコンパイルから除外されることを示しています。
<wlcompile srcdir="${src.dir}" destdir="${dest.dir}" excludes="appStartup"/>
親トピック: wlcompileを使用したアプリケーションのコンパイル
wlcompile Antタスクの属性
表5-1では、wlcompile
固有のAntタスクの属性を示します。
表5-1 wlcompile Antタスクの属性
属性 | 説明 |
---|---|
srcdir |
ソース・ディレクトリ。 |
destdir |
ビルド/出力ディレクトリ。 |
classpath |
|
includes |
ビルドから特定のディレクトリを含めることができます。 |
excludes |
ビルドから特定のディレクトリを除外できます。 |
librarydir |
クラスパスに追加するための共有Java EEライブラリのディレクトリを指定します。共有Java EEライブラリおよびオプション・パッケージの作成を参照してください。 |
親トピック: wlcompileを使用したアプリケーションのコンパイル
ネストされたjavacオプション
wlcompile
Antタスクは、コンパイル時の動作を変更するネストされたjavacオプションを受け入れます。たとえば、次のwlcompile
コマンドは非推奨の警告を無視し、デバッグを有効にします。
<wlcompile srcdir="${mysrcdir}" destdir="${mybuilddir}"> <javac deprecation="false" debug="true" debuglevel="lines,vars,source"/> </wlcompile>
親トピック: wlcompileを使用したアプリケーションのコンパイル
コード・コンパイル用のクラスパスの設定
ほとんどのWebLogicサービスはJava EE仕様に基づいており、標準Java EEパッケージを通じてアクセスします。WebLogicサービスを使用するプログラムのコンパイルに必要なWebLogicおよびその他のJavaクラスは、インストールしたWebLogic Serverのlib
ディレクトリのwls-api.jar
ファイルにパッケージ化されます。wls-api.jar
ファイル以外にも、コンパイラのCLASSPATH
に以下を組み込みます。
-
JDKディレクトリ内の
lib\tools.jar
ファイル、または使用するJava Development Kitに必要なその他の標準Javaクラス。 -
Apache Antの
examples.property
ファイル(サンプル環境用)。このファイルについては、samples\server\examples\src\examples\examples.html
にあるAntを使用してのサンプルの構築に関するWebLogic Serverドキュメントで説明されています。 -
サード・パーティJavaツールまたはプログラムがインポートするサービスのクラス。
-
コンパイルするプログラムによって参照されるその他のアプリケーション・クラス。
親トピック: wlcompileを使用したアプリケーションのコンパイル
wlcompileとwlappcのライブラリ要素
library
要素は、Java EEライブラリおよびオプション・パッケージの作成で説明されているように、アプリケーションのビルドに必要な共有Java EEライブラリを表すモジュールの名前および必要に応じてバージョン情報を定義する要素(オプション)です。「wlappcを使用したモジュールおよびアプリケーションのビルド」で説明されているwlcompile
とwlappc
の両方で、library
要素を使用できます。
名前とバージョン情報は、ライブラリ要素の属性(「表5-2」を参照)として指定されます。
表5-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" />
親トピック: wlcompileを使用したアプリケーションのコンパイル
wlappcを使用したモジュールおよびアプリケーションのビルド
デプロイメント時間を短縮するには、weblogic.appc
Javaクラス(またはそれと同等のAntタスクwlappc
)を使用して、デプロイ可能なアーカイブ・ファイル(WAR、JARまたはEAR)をプリコンパイルします。weblogic.appc
を使用してプリコンパイルを実行すると、特定のヘルパー・クラスが生成され、アプリケーションが現在のJava EE仕様に準拠していることを確認するための検証チェックが実行されます。
アプリケーション・レベルのチェックでは、個別のモジュールに対するアプリケーション・レベルのデプロイメント記述子のチェックと、モジュール全体の検証チェックが行われます。
また、オプション・パッケージは、appc
でJava EE共有ライブラリとしてサポートされます。そのため、オプション・パッケージ参照の検索では、アプリケーションおよびそのモジュールのすべてのマニフェストがスキャンされます。
wlappc
は、weblogic.appc
コンパイラに対するAntタスク・インタフェースです。次の項では、wlappc
のオプションと使用方法について説明します。weblogic.appc
とwlappc
Antタスクは、エンタープライズ・アプリケーションを記述するapplication.xml
デプロイメント記述子ファイルに表示されている順番でモジュールをコンパイルします。
- wlappc Antタスクの属性
- wlappc Antタスクの構文
- appcおよびwlappcにおける構文の違い
- weblogic.appcリファレンス
- weblogic.appcの構文
- weblogic.appcのオプション
親トピック: 分割開発ディレクトリでのアプリケーションのビルド
wlappc Antタスクの属性
表5-3では、wlappc
固有のAntタスクのオプションを示します。これらのオプションは、weblogic.appc
コマンド・ライン・オプションと似ていますが、いくつかの点で違いがあります。
ノート:
weblogic.appcオプションのリストについては、「weblogic.appcリファレンス」
を参照してください。
「wlcompileとwlappcのライブラリ要素」を参照してください。
表5-3 wlappc Antタスクの属性
オプション | 説明 |
---|---|
print |
標準の使用方法メッセージを出力します。 |
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ライブラリのディレクトリを指定します。共有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}" />
以下は、表5-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
の使用可能なオプションは次のとおりです。
表5-4 weblogic.appcのオプション
オプション | 説明 |
---|---|
-print |
標準の使用方法メッセージを出力します。 |
-version |
|
-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 |
生成された |
-compiler <javac> |
使用するJavaコンパイラを選択します。 |
-g |
デバッグ情報をクラス・ファイルにコンパイルします。 |
-O |
最適化を有効にしてコンパイルします。 |
-nowarn |
警告なしでコンパイルします。 |
-verbose |
冗長情報を出力してコンパイルします。 |
-deprecation |
非推奨となった呼出しについて警告します。 |
-normi |
Symantecのsjにフラグを渡します。 |
-J<option> |
Java実行時にフラグを渡します。 |
-classpath <path> |
コンパイル中に使用するクラスパスを選択します。 |
-clientJarOutputDir <dir> |
生成されたクライアントjarファイルを配置するディレクトリを指定します。これが設定されていないと、生成されたjarファイルはJVMが実行しているディレクトリと同じ場所に配置されます。 |
-advanced |
高度な使用オプションを出力します。 |