プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle WebLogic Serverアプリケーションの開発
12c (12.2.1.3.0)
E90359-04
目次へ移動
目次

前
次

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

WebLogic Server Java EEアプリケーションをWebLogic分割開発ディレクトリ環境内に構築するには、wlcompileを使用してアプリケーションをコンパイルし、wlappcを使用してモジュールおよびアプリケーションを構築する必要があります。

この章の内容は次のとおりです。

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

wlcompile Antタスクを使用して、javacコンパイラを起動して、アプリケーションのJavaコンポーネントを分割開発ディレクトリ構造でコンパイルできます。

wlcompileの基本的な構文では、helloWorldEarサンプルからの次のコマンドのようにソース・ディレクトリとビルド・ディレクトリを識別します。

<wlcompile srcdir="${src.dir}" destdir="${dest.dir}"/>

注意:

デプロイメント記述子は、Java EE 5の時点で必須ではなくなりました。そのため、展開形式のモジュール・ディレクトリにデプロイメント記述子がない場合は、.warまたは.jar接尾辞を使用してモジュール・タイプを指定する必要があります。wlcompileでモジュールを認識できるようにするため、接尾辞は必須でとなっています。.war接尾辞は、そのモジュールがWebアプリケーション・モジュールであることを示します。.jar接尾辞は、そのモジュールがEJBモジュールであることを示します。

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

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

    ここでORACLE_HOMEは、WebLogic Serverのコード・サンプルを構成するディレクトリです。WebLogic Serverサンプル・コードの詳細は、『Oracle WebLogic Serverの理解』のサンプル・アプリケーションおよびサンプル・コードに関する項 を参照してください。

  2. wlcompileはEJBを構築し、以前に構築されたJavaモジュールを、コンパイラのクラスパスに自動的に含めます。これにより、EJBは手動でクラスパスを編集する必要なしにJavaモジュールを呼び出せます。
  3. 最後に、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タスクの属性

表5-1では、wlcompile固有のAntタスクの属性を示します。

表5-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サービスを使用するプログラムのコンパイルに必要な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とwlappcのライブラリ要素

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

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

表5-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 Javaクラス(またはそれと同等のAntタスクwlappc)を使用して、デプロイ可能なアーカイブ・ファイル(WAR、JARまたはEAR)をプリコンパイルします。weblogic.appcを使用してプリコンパイルを実行すると、特定のヘルパー・クラスが生成され、アプリケーションが現在のJava EE仕様に準拠していることを確認するための検証チェックが実行されます。

アプリケーション・レベルのチェックでは、個別のモジュールに対するアプリケーション・レベルのデプロイメント記述子のチェックと、モジュール全体の検証チェックが行われます。

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

wlappcは、weblogic.appcコンパイラに対するAntタスク・インタフェースです。次の項では、wlappcのオプションと使用方法について説明します。weblogic.appcwlappc Antタスクは、エンタープライズ・アプリケーションを記述するapplication.xmlデプロイメント記述子ファイルに表示されている順番でモジュールをコンパイルします。

wlappc Antタスクの属性

表5-3では、wlappc固有のAntタスクのオプションを示します。これらのオプションは、weblogic.appcコマンド・ライン・オプションと似ていますが、いくつかの点で違いがあります。

注意:

weblogic.appcオプションのリストについては、「weblogic.appcリファレンス」を参照してください。

「wlcompileとwlappcのライブラリ要素」を参照してください。

表5-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}" />

以下は、表5-3の2つのオプション(idlおよびidlOrverWrite)を呼び出すwlappc Antタスク・コマンドの例です。

<wlappc source="${dest.dir}"idl="true" idlOrverWrite="true" />

appcおよびwlappcにおける構文の違い

appcwlappcでは、構文にいくつかの違いがあります。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の使用可能なオプションは次のとおりです。

オプション 説明
-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

高度な使用オプションを出力します。