Apache Ant EJBタスク ユーザマニュアル

作成者


目次


はじめに

Antは、1.xおよび2.xのEnterprise Java Beans (EJB)を開発するための多くのオプションタスクを提供します。一般に、これらのタスクは特定のベンダーのEJBサーバーに固有です。

これらのタスクは以下をサポートしています。

BEAやIBMなどのベンダーは、特定の製品で動作するためのカスタムAntタスクを提供するようになりました。さらに重要なこととして、EJB 3.0によってこのプロセス全体が時代遅れになります。したがって、これらのタスクの開発は事実上凍結されています。バグレポート、特にパッチは大歓迎ですが、新しいアプリケーションサーバーのサポートを追加する必要性は強くありません。誰も新しいEJB 2.xアプリケーションを書くべきではなく、ましてや新しいEJB 2.xサーバーを書くべきではありません。


EJBタスク

タスクアプリケーションサーバー
blgenclientBorland Application Server 4.5および5.x
iplanet-ejbciPlanet Application Server 6.0
ejbjarネストされた要素
borlandBorland Application Server 4.5および5.x
iPlanetiPlanet Application Server 6.0
jbossJBoss
jonasJOnAS 2.4.xおよび2.5
weblogicWebLogic 5.1から7.0
websphereIBM WebSphere 4.0
orionIronFlare(Oracle)Orion Application Server 2.0.6

ddcreator

説明

ddcreatorは、WebLogicのテキストベースのデプロイメント記述子のセットを、シリアライズされたEJBデプロイメント記述子にコンパイルします。コンパイルするテキストベースの記述子の選択は、標準のAntのincludeおよびexclude選択メカニズムに基づいています。

パラメータ

属性 説明 必須
descriptors これは、記述子が選択されるベースディレクトリです。 はい
dest シリアライズされたデプロイメント記述子が書き込まれるディレクトリ はい
classpath これは、基盤となるWebLogicのddcreatorツールを実行するために使用するクラスパスです。これには、weblogic.ejb.utils.DDCreatorクラスが含まれている必要があります いいえ

<ddcreator descriptors="${dd.dir}"
           dest="${gen.classes}"
           classpath="${descriptorbuild.classpath}">
  <include name="*.txt"/>
</ddcreator>

ejbc

説明

ejbcタスクは、WebLogicのejbcツールを実行します。このツールは、シリアライズされたデプロイメント記述子を受け取り、さまざまなEJBインターフェースとBeanクラスを調べ、WebLogic EJBコンテナにBeanをデプロイするために必要なサポートクラスを生成します。これには、RMIスタブとスケルトン、およびBeanのホームインターフェースとリモートインターフェースを実装するクラスが含まれます。

このツールを実行するAntタスクは、1回の操作で複数のBeanをコンパイルできます。コンパイルするBeanは、シリアライズされたデプロイメント記述子を含めることで選択されます。標準のAntのincludeおよびexclude構成を使用して、含めるデプロイメント記述子を選択できます。

各記述子を調べて、生成されたクラスが古くなっていて再生成が必要かどうかを判断します。デプロイメント記述子は、ホームクラス、リモートクラス、および実装クラスを検出するために非シリアライズ化されます。対応するソースファイルが決定され、それらの変更時刻が確認されます。これらの時刻と、シリアライズされた記述子自体の変更時刻が、生成されたクラスの変更時刻と比較されます。生成されたクラスが存在しない場合、または古い場合は、ejbcツールを実行して新しいバージョンを生成します。

パラメータ

属性 説明 必須
descriptors これは、シリアライズされたデプロイメント記述子が選択されるベースディレクトリです。 はい
dest 生成されたクラス、RIMスタブ、およびRMIスケルトンが書き込まれるベースディレクトリ はい
manifest 書き込むマニフェストファイルの名前。このマニフェストには、処理された各EJBのエントリが含まれます はい
src ホームインターフェース、リモートインターフェース、およびBean実装クラスのソースファイルを含むソースツリーのベースディレクトリ。 はい
classpath このクラスパスには、weblogic.ejbcクラスと、処理中のBeanのBean、ホームインターフェース、リモートインターフェースなどのクラスファイルの両方が含まれている必要があります。 いいえ
keepgenerated ejbcがクラスファイルの構築に使用される中間javaファイルを保持するかどうかを制御します。これはデバッグ時に役立ちます。 いいえ。デフォルトはfalse

<ejbc descriptors="${gen.classes}"
           src="${src.dir}"
           dest="${gen.classes}"
           manifest="${build.manifest}"
           classpath="${descriptorbuild.classpath}">
  <include name="*.ser"/>
</ejbc>

iplanet-ejbc

説明

iPlanet Application Server 6.0用のEJBスタブとスケルトンをコンパイルするタスク。標準のEJB 1.1 XML記述子とiAS固有のEJB記述子を指定すると、このタスクはEJBをiASにデプロイするために必要なスタブとスケルトンを生成します。XML記述子には複数のEJBを含めることができるため、これは単一のAntタスクで多数のEJBを指定する便利な方法です。

指定された各EJBについて、タスクは宛先ディレクトリ内のEJBを構成する3つのクラスを検索します。これらのクラスファイルが宛先ディレクトリに見つからない場合、タスクは失敗します。タスクは、このディレクトリ内のEJBスタブとスケルトンも検索しようとします。見つかった場合、スタブとスケルトンのタイムスタンプが最新であることを確認するためにチェックされます。これらのファイルが見つからない場合、または古い場合にのみ、iAS ejbcユーティリティが呼び出されて新しいスタブとスケルトンが生成されます。

パラメータ

属性 説明 必須
ejbdescriptor 標準のEJB 1.1 XML記述子(通常はejb-jar.xmlというタイトルです)。 はい
iasdescriptor iAS固有のEJB XML記述子(通常はias-ejb-jar.xmlというタイトルです)。 はい
dest これは、RMIスタブとスケルトンが書き込まれるベースディレクトリです。さらに、各Bean(ホームインターフェース、リモートインターフェース、およびEJB実装)のクラスファイルは、このディレクトリにある必要があります。 はい
classpath EJBスタブとスケルトンを生成するときに使用されるクラスパス。ネストされたclasspath要素も使用できます。 いいえ。Antの起動時に指定されたクラスパスがデフォルトです
keepgenerated ejbcによって生成されたJavaソースファイルを保存するか、自動的に削除するかを示します。yesの場合、ソースファイルは保持されます。 いいえ。デフォルトはno
debug ejbcユーティリティが追加のデバッグステートメントを標準出力にログ記録するかどうかを示します。yesの場合、追加のデバッグステートメントが生成されます。 いいえ。デフォルトはno
iashome このiASインストールの「ホーム」ディレクトリを指定するために使用できます。これは、ユーザーのシステムパスに含まれていない場合に、ejbcユーティリティを見つけるために使用されます。指定する場合は、[インストール場所]/iplanet/ias6/iasディレクトリを参照する必要があります。 いいえ。デフォルトでは、ejbcユーティリティはユーザーのシステムパスにある必要があります

<iplanet-ejbc ejbdescriptor="ejb-jar.xml"
              iasdescriptor="ias-ejb-jar.xml"
              dest="${build.classesdir}"
              classpath="${ias.ejbc.cpath}"/>


<iplanet-ejbc ejbdescriptor="ejb-jar.xml"
              iasdescriptor="ias-ejb-jar.xml"
              dest="${build.classesdir}"
              keepgenerated="yes"
              debug="yes"
              iashome="${ias.home}">
              <classpath>
                  <pathelement path="."/>
                  <pathelement path="${build.classpath}"/>
              </classpath>
</iplanet-ejbc>

wlrun

説明

wlrunタスクは、WebLogicサーバーを起動するために使用されます。このタスクは、別のJVMでWebLogicインスタンスを実行します。WebLogicインスタンスの動作を制御するために、いくつかのパラメータが使用されます。タスク(したがってAnt)は、WebLogicインスタンスが停止するまで完了しないことに注意してください。

パラメータ

属性 説明 4.5.1および5.1に必要 6.0に必要
BEAhome サーバーの設定が保存されているBEAhomeの場所。この属性が存在する場合、wlrunはサーバーがWebLogic 6.0で実行されていると想定します N/A はい
home WebLogicがインストールされているWebLogic「ホーム」の場所。 はい はい。これはBEAhomeに対する相対位置ではなく、絶対位置であることに注意してください。
Domain サーバーが属するドメイン。 N/A はい
classpath WebLogic Serverを実行するJVMで使用するクラスパス。WebLogic 6.0より前は、これは通常、WebLogicブートクラスパスに設定されます。WebLogic 6.0では、これにはすべてのWebLogic jarが含まれている必要があります はい
wlclasspath WebLogic Serverで使用されるWebLogicクラスパス。 いいえ N/A
properties WebLogicインスタンスを制御するために使用される、WebLogicホームディレクトリ内のサーバーのプロパティファイルの名前。 はい
name 実行するWebLogicホーム内のWebLogicサーバーの名前。 いいえ。デフォルトはmyserver
policy 使用するWebLogicホームディレクトリ内のセキュリティポリシーファイルの名前。 いいえ。デフォルトはweblogic.policy
username サーバーの管理に使用される管理ユーザー名 N/A いいえ
password サーバーの管理パスワード はい
pkPassword サーバーがSSL秘密鍵ファイルを復号化できるようにするための秘密鍵パスワード いいえ
jvmargs WebLogicインスタンスの実行に使用されるJVMに渡される追加の引数文字列。 いいえ
weblogicMainClass WebLogicのメインクラスの名前 いいえ

ネストされた要素として指定されたパラメータ

wlrunタスクは、それぞれのクラスパスを設定するためにネストされた<classpath>および<wlclasspath>要素をサポートします。

この例は、WebLogic 5.1でサーバーを実行するためのwlrunの使用方法を示しています

    <wlrun taskname="myserver"
           classpath="${weblogic.boot.classpath}"
           wlclasspath="${weblogic.classes}:${code.jars}"
           name="myserver"
           home="${weblogic.home}"
           properties="myserver/myserver.properties"/>

この例は、WebLogic 6.0でpetstoreサーバーを実行するためにwlrunが使用される方法を示しています

<wlrun taskname="petstore"
       classpath="${weblogic.classes}"
       name="petstoreServer"
       domain="petstore"
       home="${weblogic.home}"
       password="petstorePassword"
       beahome="${bea.home}"/>

wlstop

説明

wlstopタスクは、現在実行中のWebLogicインスタンスを停止するために使用されます。インスタンスをシャットダウンするには、ユーザー名とパスワードの両方を指定する必要があります。これらは、インスタンスの停止に使用されるビルドスクリプトにクリアテキストで保存されます。セキュリティ上の理由から、このタスクは開発環境でのみ適切です。

このタスクは、6.0を含むほとんどのバージョンのWebLogicで機能します。6.0でこのタスクを正しく機能させるには、BEAHomeを指定する必要があります

パラメータ

属性 説明 必須
BEAHome この属性はWebLogic 6.0シャットダウンを選択します。 いいえ
classpath WebLogicシャットダウンコマンドを実行するJVMで使用するクラスパス。 はい
user サーバーをシャットダウンするために使用されるアカウントのユーザー名 はい
password ユーザーパラメータで指定されたアカウントのパスワード。 はい
url サーバーがT3接続をリッスンしているポートを記述するURL。たとえば、t3://localhost:7001 はい
delay サーバーが停止するまでの遅延時間(秒)。 いいえ。デフォルトは0(即時シャットダウン)

ネストされた要素として指定されたパラメータ

wlstopタスクのクラスパスは、ネストされた<classpath>要素で設定できます。

この例は、WebLogic 6.0サーバーのシャットダウンを示しています

<wlstop classpath="${weblogic.classes}"
        user="system"
        url="t3://localhost:7001"
        password="foobar"
        beahome="${bea.home}"/>

ejbjar

説明

このタスクは、EJB jarファイル(EJB 1.1 & 2.0)の作成をサポートするように設計されています。現在、サポートされているのは「バニラ」EJB jarファイルです。つまり、ユーザーが生成したクラスファイルと標準のデプロイメント記述子のみを含むものです。ネストされた要素は、ベンダー固有のデプロイメントツールをサポートします。これには現在、以下が含まれます。

このタスクは、ディレクトリのスキャンタスクとして機能し、見つかったデプロイメント記述子ごとにアクションを実行します。したがって、includesおよびexcludesを設定して、必要なすべてのEJB記述子が見つかり、アプリケーションサーバー記述子が見つからないようにする必要があります。見つかった各記述子について、ejbjarはデプロイメント記述子を解析して、Beanを実装する必要なクラスファイルを決定します。これらのファイルは、デプロイメント記述子とともに、適切に形成されたEJB jarファイルにまとめられます。生成されたjarに含める必要があるサポートファイルは、<support>ネスト要素で追加できます。jarに含まれる各クラスについて、ejbjarはスーパークラスまたはスーパーインターフェイスをスキャンします。これらは生成されたjarに追加されます。

ネストされたベンダー固有のデプロイメント要素が存在しない場合、タスクは単に一般的なEJB jarを生成します。このようなjarは、通常、ベンダー固有のデプロイメントツールの入力として使用されます。ネストされたデプロイメント要素ごとに、ベンダー固有のデプロイメントツールが実行され、そのベンダーのEJBコンテナへのデプロイ準備ができたjarファイルが生成されます。

jarファイルは、古くなっている場合にのみビルドされます。各デプロイメントツール要素は、ターゲットのjarファイルを調べて、Beanを構成するクラスファイルとデプロイメント記述子に関して古くなっているかどうかを判断します。これらのファイルのいずれかがjarファイルよりも新しい場合、jarは再構築されます。それ以外の場合は、jarファイルが最新であるというメッセージがログに記録されます。

このタスクは、すべての依存クラスを抽出するために、BCEL ライブラリを使用します。これは、デプロイメント記述子に記載されているクラスに加えて、それらが依存するすべてのクラスも自動的にjarファイルに含まれることを意味します。

命名規則

Ejbjarは複数のBeanの処理を処理し、生成されたEJB jarの名前を決定するために一連の命名規則を使用します。使用される命名規則は、naming属性によって制御されます。次の値をサポートしています。
descriptor

これは、デフォルトの命名スキームです。生成されたBeanの名前は、デプロイメント記述子の名前から派生します。たとえば、Account Beanの場合、デプロイメント記述子の名前はAccount-ejb-jar.xmlになります。ベンダー固有の記述子は、同じ命名規則を使用して配置されます。たとえば、WebLogic Beanの名前はAccount-weblogic-ejb-jar.xmlになります。この構成では、デプロイメント記述子をBeanを実装するコードから分離できます。これは、同じBeanコードが別々のBeanにデプロイされる場合に役立ちます。

このスキームは、EJB jarごとに1つのBeanを使用しており、異なるデプロイメント特性を持つ異なるBeanに同じBeanクラスをデプロイする可能性がある場合に役立ちます。

ejb-name

この命名スキームでは、デプロイメント記述子から<ejb-name>要素を使用して、Bean名を決定します。この状況では、記述子は通常、ejb-jar.xmlなどの一般的な記述子名と、関連するベンダー固有の記述子名を使用します。たとえば、<ejb-name>の値がデプロイメント記述子に次のように記述されている場合

<ejb-jar>
    <enterprise-beans>
        <entity>
            <ejb-name>Sample</ejb-name>
            <home>org.apache.ant.ejbsample.SampleHome</home>

生成されたBeanの名前はSample.jarになります。

このスキームは、他のEJBツールとの互換性が高い可能性がある標準のデプロイメント記述子名を使用する場合に役立ちます。このスキームでは、jarごとに1つのBeanが必要です。

directory

このモードでは、生成されたBean jarの名前は、デプロイメント記述子を含むディレクトリから派生します。ここでも、デプロイメント記述子は通常、標準のファイル名を使用します。たとえば、デプロイメント記述子へのパスが/home/user/dev/appserver/dd/sampleの場合、生成されたBeanの名前はsample.jarになります。

このスキームは、標準スタイルの記述子名を使用する場合にも役立ちます。記述子がBeanソースコードと同じディレクトリにある場合によく使用されますが、必須ではありません。このスキームでは、jarごとに複数のBeanを処理できます。

basejarname

<ejbjar>タスクでサポートされている最後のスキームは、生成されたBean jar名を直接指定する場合に使用されます。この場合、生成されたjarの名前はbasejarname属性で指定されます。生成されたすべてのBeanの名前が同じになるため、このタスクは各記述子が独自のディレクトリにある場合にのみ使用する必要があります。

このスキームは、jarごとに複数のBeanを使用しており、1つのデプロイメント記述子のみを処理する場合に最適です。通常、jarの名前を指定し、jar内のBeanから派生させたくないでしょう。

依存関係

Beanクラスに加えて、ejbjarは、生成されたEJB jarに追加のクラスを追加できます。これらのクラスは、通常、Beanのクラスで使用されるサポートクラス、またはBeanのメソッドのパラメーターとして使用されます。

Antの1.5より前のバージョンでは、ejbjarはリフレクションを使用して、Beanクラスのスーパークラスとスーパーインターフェイスを追加しようとしました。この手法が機能するためには、BeanクラスをAntのJVMにロードする必要がありました。これは、クラスの依存関係のために、常に可能とは限りませんでした。

Ant 1.5以降、タスクはBCELライブラリを使用して、BeanのクラスファイルをJVMにロードするのではなく、直接分析します。これにより、ejbjarはスーパークラスだけでなく、Beanに必要なすべてのサポートクラスを追加することもできます。

Ant 1.5以降dependency属性を使用すると、ビルドファイルで生成されたjarに追加される追加のクラスを制御できます。次の3つの可能な値を取ります。

superおよびfullの値では、BCELライブラリが利用可能である必要があります。そうでない場合、ejbjarは値noneに対応する動作に戻ります。

パラメータ

属性 説明 必須
descriptordir EJBデプロイメント記述子をスキャンするベースディレクトリ。この属性が指定されていない場合、デプロイメント記述子はsrcdir属性で指定されたディレクトリに配置する必要があります。 いいえ
srcdir Beanを構成する.classファイルを含むベースディレクトリ。home-remote-pk-implementation-クラスと、これらが依存するすべてのクラスが含まれます。すべてのファイルが同じディレクトリツリーにある場合は、これがdescriptordirと同じになる可能性があることに注意してください。 はい
destdir 生成されたjarファイルが配置されるベースディレクトリ。jarファイルは、descriptordir名前空間内の場所に対応するディレクトリに配置されます。この属性は、タスクが一般的なjarを生成している場合(つまり、ベンダー固有のデプロイメント要素が指定されていない場合)にのみ使用されることに注意してください。 はい。ただし、ベンダー固有のデプロイメント要素が指定されていない場合。
cmpversion 1.0または2.0
CMP 2.0の実装は、現在JBossでのみ存在します。
いいえ。デフォルトは1.0です。
naming 生成されたEJB jarの名前を付けるために使用される命名規則を制御します。上記の説明を参照してください。 いいえ
basejarname 生成されたjarファイルに使用されるベース名。この属性が指定されている場合、一般的なjarファイル名はこの値をプレフィックスとして使用し(その後にgenericjarsuffix属性で指定された値が続きます)、結果のEJB jarファイル(ネストされた要素で指定されたサフィックスが続きます)。 いいえ
basenameterminator 見つかった各デプロイメント記述子の名前から文字列をサブストリング化するために使用される文字列値。これは、関連するデプロイメント記述子(例:WebLogic記述子)を見つけるために使用されます。たとえば、ベース名が.で、デプロイメント記述子がFooBean.ejb-jar.xmlと呼ばれる場合、FooBeanのベース名になり、FooBean.weblogic-ejb-jar.xmlおよびFooBean.weblogic-cmp-rdbms-jar.xmlを見つけ、FooBean-generic.jarFooBean-wl.jarとしてjarファイルのファイル名を作成するために使用されます。この属性は、basejarname属性が指定されている場合は使用されません。 いいえ。デフォルトは-です。
genericjarsuffix 一般的なEJB jarファイルのファイル名を作成するために、デプロイメント記述子のベース名に追加される文字列値。 いいえ。デフォルトは-generic.jarです。
classpath このクラスパスは、jarに追加されるクラスを解決する際に使用されます。通常、ネストされたデプロイメントツール要素もクラスパスをサポートします。これは、クラスを解決する際にこのクラスパスと結合されます。 いいえ
flatdestdir 生成されたすべてのjarを、descriptordir階層内のデプロイメント記述子の場所に従うのではなく、destdirのルートに配置する場合は、この属性をtrueに設定します。 いいえ
dependency この属性は、jarに追加される追加のクラスとインターフェイスを制御します。上記の説明を参照してください。 いいえ
manifest 使用するマニフェストファイル(ある場合)。 いいえ

ネストされた要素として指定されたパラメータ

ベンダー固有のネストされた要素に加えて、ejbjarタスクは3つのネストされた要素を提供します。

classpath

<classpath>ネストされた要素を使用すると、クラスパスを設定できます。参照パスからクラスパスを設定する場合に便利です。その他すべての点において、動作はclasspath属性と同じです。

dtd

<dtd>要素は、EJBデプロイメント記述子を解析するときに使用されるDTDのローカルな場所を指定するために使用されます。ローカルのDTDを使用する方が、ネットワーク経由でDTDをロードするよりもはるかに高速です。ファイアウォールの内側でejbjarを実行している場合は、リモートのDTDにアクセスすることさえできない場合があります。サポートされているベンダー固有のネストされた要素は、ベンダーのクラス階層内の必要なDTDの場所を知っており、一般に、これは<dtd>要素が必要ないことを意味します。ただし、これは、Antを起動するときにベンダーのクラス階層がクラスパスで利用可能である必要があることを意味します。クラスパスにベンダーのクラスを必要とせずにAntを実行する場合は、<dtd>要素を使用する必要があります。

属性 説明 必須
publicId 場所が提供されているDTDのパブリックID はい
location DTDのローカルコピーの場所。これは、ファイルまたはクラスパスからロード可能なリソースのいずれかになります。 はい

support

<support>ネストされた要素は、生成されたjarに含める追加のクラス(ファイル)を提供するために使用されます。<support>要素はFileSetであるため、他の場所で宣言されたfilesetを参照することも、適切な<include>および<exclude>ネスト要素を使用してインプレースで定義することもできます。サポートfileset内のファイルは、サポートfileset内の場所と同じ相対的な場所で、生成されたEJB jarに追加されます。ejbjarが複数のjarファイルを生成する場合、サポートファイルはそれぞれに追加されることに注意してください。

ベンダー固有のデプロイメント要素

ベンダー固有のネストされた各要素は、そのベンダーのEJBコンテナに固有のデプロイ可能なjarの生成を制御します。サポートされている各デプロイメント要素のパラメーターは、ここに詳しく説明されています。

Jboss要素

jboss要素は、JBoss固有のデプロイメント記述子を検索し、それらを最終的なEJB jarファイルに追加します。JBossには、2つのデプロイメント記述子があります。

JBossサーバーはホットデプロイメントを使用し、追加のスタブとスケルトンのコンパイルを必要としません。

属性 説明 必須
destdir 生成されたJBoss対応のjarファイルが格納されるベースディレクトリ。Jarファイルは、descriptordir名前空間内の場所に対応するディレクトリに格納されます。 はい
genericjarsuffix 汎用jarは、JBossデプロイメントjarを構築する中間ステップとして生成されます。汎用jarファイルの生成に使用されるサフィックスは、汎用jarファイルを保持したい場合を除き、特に重要ではありません。ただし、suffix設定と同じであってはなりません。 いいえ。デフォルトは-generic.jarです。
suffix JBoss EJB jarファイルのファイル名を作成するために、デプロイメント記述子のベース名に追加される文字列値。 いいえ、デフォルトは.jarです。
keepgeneric ejbcへの入力として使用される汎用ファイルを保持するかどうかを制御します。 いいえ。デフォルトはfalse

WebLogic要素

weblogic要素は、WebLogic EJB jarを生成するためのweblogic.ejbcコンパイラを制御するために使用されます。Ant 1.3より前では、CMP記述子を特定する方法は、ejbjarという命名規則を使用することでした。したがって、EJB jarがCustomer-ejb-jar.xmlという名前の場合、WebLogic記述子はCustomer-weblogic-ejb-jar.xmlという名前になり、CMP記述子はCustomer-weblogic-cmp-rdbms-jar.xmlという名前である必要がありました。さらに、WebLogic記述子の<type-storage>要素は、生成されたjar内でCMP記述子がマップされる場所である標準名META-INF/weblogic-cmp-rdbms-jar.xmlに設定する必要がありました。

この方式にはいくつかの問題があります。1つのjar内で複数のCMP記述子を定義することができず、一部のツールによって生成されたデプロイメント記述子と互換性がありません。

Ant 1.3では、ejbjarはWebLogicデプロイメント記述子を解析してCMP記述子を検出し、それらが自動的に含まれます。この動作は、newCMP属性によって制御されます。CMP記述子を特定する新しい方法に移行する場合は、WebLogicデプロイメント記述子の<type-storage>要素を更新する必要があることに注意してください。上記の例では、これをMETA-INF/Customer-weblogic-cmp-rdbms-jar.xmlとして定義します。

属性 説明 必須
destdir 生成されたWebLogic対応のjarファイルが格納されるベースディレクトリ。Jarファイルは、descriptordir名前空間内の場所に対応するディレクトリに格納されます。 はい
genericjarsuffix 汎用jarは、WebLogicデプロイメントjarを構築する中間ステップとして生成されます。汎用jarファイルの生成に使用されるサフィックスは、汎用jarファイルを保持したい場合を除き、特に重要ではありません。ただし、suffix設定と同じであってはなりません。 いいえ。デフォルトは-generic.jarです。
suffix WebLogic EJB jarファイルのファイル名を作成するために、デプロイメント記述子のベース名に追加される文字列値。 いいえ、デフォルトは.jarです。
classpath WebLogic ejbcツールを実行する際に使用するクラスパス。通常、このツールでは、Beanを構成するクラスがクラスパスで使用可能である必要があります。ただし、現在、これによりejbcツールは別のJVMで実行されます。 いいえ
wlclasspath WebLogic 6.0では、Beanのホームインターフェースとリモートインターフェースが、weblogic.ejbcの実行に使用されるシステムクラスパス上にある場合、警告が表示されます。その場合、標準のWebLogicクラスはこの属性(または同等のネストされた要素)で設定し、ホームインターフェースとリモートインターフェースは標準のclasspath属性で指定する必要があります。 いいえ
keepgeneric ejbcへの入力として使用される汎用ファイルを保持するかどうかを制御します。 いいえ。デフォルトはfalse
compiler これにより、生成されたJavaファイルのコンパイルに使用する別のコンパイラを選択できます。たとえば、Jikesコンパイラでコンパイルするためにjikesに設定できます。これが設定されておらず、build.compilerプロパティがjikesに設定されている場合、Jikesコンパイラが使用されます。これが望ましくない場合は、デフォルトのコンパイラを使用するためにdefault値を指定できます。 いいえ
rebuild このフラグは、jarファイルを構築するためにweblogic.ejbcを常に呼び出すかどうかを制御します。Beanクラスのみが変更された場合など、特定の状況では、変更されたクラスを置き換えるだけで、ejbcを再実行しなくてもjarを生成できます。これをfalseに設定すると、ejbjarの実行時間が短縮されます。 いいえ、デフォルトはtrueです。
keepgenerated WebLogicが、jarに追加されるクラスファイルの構築に使用される生成されたJavaファイルを保持するかどうかを制御します。これはデバッグ時に役立ちます。 いいえ。デフォルトはfalse
args weblogic.ejbcツールに渡される追加の引数。 いいえ
weblogicdtd 非推奨。WebLogicクラス階層内のejb-jar DTDの場所を定義します。WebLogicがクラスパスにある場合は必要ありません。そうでない場合は、上記のネストされた<dtd>要素を使用する必要があります。属性を使用する場合は、ネストされた<dtd>要素を使用する必要があります。 いいえ
wldtd 非推奨。WebLogic固有のデプロイメント記述子をカバーするweblogic-ejb-jar DTDの場所を定義します。WebLogicがクラスパスにある場合は必要ありません。そうでない場合は、上記のネストされた<dtd>要素を使用する必要があります。 いいえ
ejbdtd 非推奨。WebLogicクラス階層内のejb-jar DTDの場所を定義します。WebLogicがクラスパスにある場合は必要ありません。そうでない場合は、上記のネストされた<dtd>要素を使用する必要があります。 いいえ
newCMP これをtrueに設定すると、CMP記述子を特定するための新しい方法が使用されます。 いいえ。デフォルトはfalse
oldCMP 非推奨 これはnewCMPの反意語であり、代わりにnewCMPを使用する必要があります。 いいえ
noEJBC この属性をtrueに設定すると、WebLogicのejbcはEJB jarで実行されません。デプロイメント時にejbcを実行したい場合は、これを使用してください。 いいえ
ejbcclass ejbcコンパイラのクラス名を指定します。通常、ejbjarは、EJBに使用されるDTDに基づいて適切なクラスを決定します。ただし、WebLogic 6で提供されているEJB 2.0コンパイラは、バージョン7で非推奨になりました。バージョン7で使用する場合は、非推奨の警告を避けるために、この属性をweblogic.ejbcに設定する必要があります。 いいえ
jvmargs weblogic.ejbcツールを実行しているJVMに渡される追加の引数。たとえば、メモリサイズを設定するには、jvmargs=-Xmx128mを指定できます。 いいえ
jvmdebuglevel ejbcを実行するJVMを実行する際に使用するweblogic.StdoutSeverityLevelを設定します。EJB HomeとRemoteがクラスパスにあることに関する警告を回避するには、16に設定します。 いいえ
outputdir 設定した場合、ejbcには、jarファイルではなく、出力先としてこのディレクトリが与えられます。これにより、「展開された」jarを生成できます。 いいえ

weblogicネスト要素は、3つのネスト要素をサポートします。最初の2つ、<classpath><wlclasspath>は、それぞれのクラスパスを設定するために使用されます。これらのネスト要素は、参照IDを使用してクラスパスを設定する場合に役立ちます。最後の<sysproperty>を使用すると、コンパイラ実行中にJavaシステムプロパティを設定できます。これは、すべての環境でCMP EJBコンパイルをサポートするために必要になることがわかります。

WebLogic用TOPLink要素

非推奨

toplink要素は不要になりました。TOPLink Beanは、newCMP属性がtrueに設定されている限り、標準のweblogic要素で構築できるようになりました。

TopLink要素は、CMP操作にTOPLinkを使用するBeanを処理するために使用されます。標準のweblogic要素から派生しているため、同じ属性セットと、これらの追加属性をサポートしています。

属性 説明 必須
toplinkdescriptor descriptordirディレクトリに含まれるTOPLinkデプロイメント記述子ファイルの名前を指定します。 はい
toplinkdtd TOPLink DTDファイルの場所を指定します。これは、ファイルパスまたはファイルURLにすることができます。この属性は必須ではありませんが、ローカルDTDを使用することをお勧めします。 いいえ。デフォルトはwww.objectpeople.comにあるDTDファイルです。

この例は、WebLogic EJBコンテナを使用してデプロイメントjarを生成するためにejbjarを使用する方法を示しています。この例では、デプロイメント記述子に使用する命名規則が必要です。この形式を使用すると、デプロイメント記述子ディレクトリにある*-ejb-jar.xmlのバリエーションごとにEJB jarファイルが作成されます。

<ejbjar srcdir="${build.classes}"
        descriptordir="${descriptor.dir}">
  <weblogic destdir="${deploymentjars.dir}"
            classpath="${descriptorbuild.classpath}"/>
  <include name="**/*-ejb-jar.xml"/>
  <exclude name="**/*weblogic*.xml"/>
</ejbjar>

WebLogicがAntクラスパスにない場合、次の例は、WebLogic DTDの場所を指定する方法を示しています。この例では、ネストされたclasspath要素の使用法も示しています。

<ejbjar descriptordir="${src.dir}" srcdir="${build.classes}">
   <weblogic destdir="${deployment.webshop.dir}"
             keepgeneric="true"
             args="-g -keepgenerated ${ejbc.compiler}"
             suffix=".jar"
             oldCMP="false">
     <classpath>
       <pathelement path="${descriptorbuild.classpath}"/>
     </classpath>
   </weblogic>
   <include name="**/*-ejb-jar.xml"/>
   <exclude name="**/*-weblogic-ejb-jar.xml"/>
   <dtd publicId="-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN"
        location="${weblogic.home}/classes/weblogic/ejb/deployment/xml/ejb-jar.dtd"/>
   <dtd publicId="-//BEA Systems, Inc.//DTD WebLogic 5.1.0 EJB//EN"
        location="${weblogic.home}/classes/weblogic/ejb/deployment/xml/weblogic-ejb-jar.dtd"/>
</ejbjar>

この例は、WebLogic EJBコンテナを使用して単一のデプロイメントjarを生成するためにejbjarを使用する方法を示しています。この例では、デプロイメント記述子が命名規則を使用する必要はありません。これにより、EJB jarファイルは1つだけ(TheEJBJar.jar)作成されます。

<ejbjar srcdir="${build.classes}"
        descriptordir="${descriptor.dir}"
        basejarname="TheEJBJar">
  <weblogic destdir="${deploymentjars.dir}"
            classpath="${descriptorbuild.classpath}"/>
  <include name="**/ejb-jar.xml"/>
  <exclude name="**/weblogic*.xml"/>
</ejbjar>

この例は、WebLogic EJBコンテナを使用してTOPLink対応のエンティティBeanのデプロイメントjarを生成するためにejbjarを使用する方法を示しています。この例では、デプロイメント記述子が命名規則を使用する必要はありません。これにより、TOPLink対応のEJB jarファイルは1つだけ(Address.jar)作成されます。

<ejbjar srcdir="${build.dir}"
        destdir="${solant.ejb.dir}"
        descriptordir="${descriptor.dir}"
        basejarname="Address">
        <weblogictoplink destdir="${solant.ejb.dir}"
                classpath="${java.class.path}"
                keepgeneric="false"
                toplinkdescriptor="Address.xml"
                toplinkdtd="file:///dtdfiles/toplink-cmp_2_5_1.dtd"
                suffix=".jar"/>
        <include name="**/ejb-jar.xml"/>
        <exclude name="**/weblogic-ejb-jar.xml"/>
</ejbjar>

最後の例は、WebLogic 6.0でejbjarを設定する方法を示しています。また、<support>要素を使用してサポートファイルを追加する方法も示しています。

<ejbjar descriptordir="${dd.dir}" srcdir="${build.classes.server}">
   <include name="**/*-ejb-jar.xml"/>
   <exclude name="**/*-weblogic-ejb-jar.xml"/>
   <support dir="${build.classes.server}">
        <include name="**/*.class"/>
   </support>
   <weblogic destdir="${deployment.dir}"
             keepgeneric="true"
             suffix=".jar"
             rebuild="false">
     <classpath>
        <pathelement path="${build.classes.server}"/>
     </classpath>
     <wlclasspath>
        <pathelement path="${weblogic.classes}"/>
     </wlclasspath>
   </weblogic>
</ejbjar>

WebSphere要素

websphere要素は、WebSphere固有のデプロイメント記述子を検索し、それらを最終的なEJB jarファイルに追加します。WebSphereには、セッションBean用に2つの特定の記述子があります。

コンテナ管理エンティティBean用にさらに2つ。

WebSphereの観点から見ると、コンテナコードとスタブの生成はデプロイメントと呼ばれます。このステップは、jar生成プロセスの一部としてwebsphere要素で実行できます。スイッチejbdeployがオンの場合、WebSphereツールセットのejbdeployツールがすべてのEJB jarに対して呼び出されます。残念ながら、このステップは、IBM JDKを使用する場合にのみ機能します。それ以外の場合、rmicejbdeployによって呼び出される)はClassFormatErrorをスローします。AntがOracle JDKまたはOpenJDKで実行される場合は、必ずejbdeployをオフにしてください。

websphere要素を機能させるには、Beanクラスを反映するために必要なすべてのクラスを含む完全なクラスパスを提供する必要があります。ejbdeployを機能させるには、ejbdeployツールのクラスパスも提供し、websphere.homeプロパティを設定する必要があります(以下の例を参照)。

属性 説明 必須
destdir 生成されたWebSphere対応のjarファイルが格納されるベースディレクトリ。Jarファイルは、descriptordir名前空間内の場所に対応するディレクトリに格納されます。 はい
ejbdeploy ejbdeployを呼び出すかどうかを決定します。これをtrueに設定する場合は、IBM JDKでAntを実行してください。 いいえ、デフォルトはtrueです。
suffix WebSphere EJB jarファイルのファイル名を作成するために、デプロイメント記述子のベース名に追加される文字列値。 いいえ、デフォルトは.jarです。
keepgeneric ejbdeployへの入力として使用される汎用ファイルを保持するかどうかを制御します。 いいえ。デフォルトはfalse
rebuild 変更が発生していない場合でも、ejbdeployを呼び出すかどうかを制御します。 いいえ。デフォルトはfalse
tempdir ejbdeployが一時ファイルを書き込むディレクトリ いいえ、デフォルトは_ejbdeploy_tempです。
dbName
dbSchema
これらのオプションはejbdeployに渡されます。 いいえ
dbVendor このオプションはejbdeployに渡されます。有効なオプションは、次のコマンドを実行して取得できます。
<WAS_HOME>/bin/EJBDeploy.[sh/bat] -help
これは、たとえばAccount-DB2UDBWIN_V71-Map.mapxmiAccount-DB2UDBWIN_V71-Schema.dbxmiなどのMap.mapxmiファイルとSchema.dbxmiファイルの名前を決定するためにも使用されます。
いいえ
codegen
quiet
novalidate
noinform
trace
use35MappingRules
これらのオプションはすべてejbdeployに渡されます。 いいえ。デフォルトはquietを除いてfalseです。
rmicOptions このオプションはejbdeployに渡され、rmicに渡されます。 いいえ

この例は、descriptordir内のすべてのデプロイメント記述子に対してデプロイメントjarを生成するためにejbjarを使用する方法を示しています。

<property name="websphere.home" value="${was4.home}"/>
<ejbjar srcdir="${build.class}" descriptordir="etc/ejb">
  <include name="*-ejb-jar.xml"/>
  <websphere dbvendor="DB2UDBOS390_V6"
             ejbdeploy="true"
             oldCMP="false"
             tempdir="/tmp"
             destdir="${dist.server}">
    <wasclasspath>
      <pathelement location="${was4.home}/deploytool/itp/plugins/org.eclipse.core.boot/boot.jar"/>
      <pathelement location="${was4.home}/deploytool/itp/plugins/com.ibm.etools.ejbdeploy/runtime/batch.jar"/>
      <pathelement location="${was4.home}/lib/xerces.jar"/>
      <pathelement location="${was4.home}/lib/ivjejb35.jar"/>
      <pathelement location="${was4.home}/lib/j2ee.jar"/>
      <pathelement location="${was4.home}/lib/vaprt.jar"/>
    </wasclasspath>
    <classpath>
      <path refid="build.classpath"/>
    </classpath>
  </websphere>
  <dtd publicId="-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN"
       location="${lib}/dtd/ejb-jar_1_1.dtd"/>
</ejbjar>

iPlanet Application Server(iAS)要素

<iplanet>ネスト要素は、iAS固有のスタブとスケルトンを構築し、iPlanet Application Server 6.0にデプロイ可能なJARファイルを構築するために使用されます。ビルドプロセスでは常に、EJBスタブ/スケルトンとEJB jarファイルが最新であるかどうかを判断し、必要な最小限の作業を行います。

weblogic要素と同様に、EJB記述子の命名規則は、完成したJARファイルの名前を指定するために最も一般的に使用されます。たとえば、EJB記述子ejb/Account-ejb-jar.xmlが記述子ディレクトリにある場合、iplanet要素は、ejb/Account-ias-ejb-jar.xmlという名前のiAS固有のEJB記述子ファイルを検索します(見つからない場合は、タスクは失敗します)。そして、ejb/Account.jarという名前のJARファイルが宛先ディレクトリに書き込まれます。EJB記述子がJARファイルに追加されると、自動的にMETA-INF/ejb-jar.xmlおよびMETA-INF/ias-ejb-jar.xmlに名前が変更されることに注意してください。

もちろん、この命名動作は、ejbjarタスク(たとえば、basejarnamebasenameterminator、およびflatdestdir)と、iplanet要素(たとえば、suffix)で属性を指定することで変更できます。詳細については、適切なドキュメントを参照してください。

パラメータ

属性 説明 必須
destdir 生成されたJARファイルが書き込まれるベースディレクトリ。各JARファイルは、descriptordir名前空間内の場所に対応するディレクトリに書き込まれます。 はい
classpath EJBスタブとスケルトンを生成するときに使用されるクラスパス。指定した場合、classpathは親のejbjarタスクで指定されたクラスパスの先頭に追加されます。ネストされたclasspath要素も使用できることに注意してください。 いいえ。デフォルトでは、ejbjar親タスクで指定されたクラスパスになります。
keepgenerated ejbcによって生成されたJavaソースファイルを保存するか、自動的に削除するかを示します。yesの場合、ソースファイルは保持されます。 いいえ。デフォルトはno
debug ejbcユーティリティが追加のデバッグステートメントを標準出力にログ記録するかどうかを示します。yesの場合、追加のデバッグステートメントが生成されます。 いいえ。デフォルトはno
iashome このiASインストールの「ホーム」ディレクトリを指定するために使用できます。これは、ユーザーのシステムパスに含まれていない場合に、ejbcユーティリティを見つけるために使用されます。指定する場合は、[インストール場所]/iplanet/ias6/iasディレクトリを参照する必要があります。 いいえ。デフォルトでは、ejbcユーティリティがユーザーのシステムパス上にある必要があります。
suffix 各JARを作成するときに、JARファイル名に追加される文字列値。 いいえ、デフォルトは.jarです。

上記のように、iplanet要素は追加の<classpath>ネスト要素をサポートしています。

この例は、<iplanet>ネスト要素の一般的な使用法を示しています。各EJB jarの名前は、標準のEJB記述子の先頭に追加された「ベース名」を使用して付けられます。たとえば、Account-ejb-jar.xmlという名前の記述子が処理された場合、EJB-JARの名前はAccount.jarになります。

<ejbjar srcdir="${build.classesdir}"
        descriptordir="${src}">

    <iplanet destdir="${assemble.ejbjar}"
             classpath="${ias.ejbc.cpath}"/>
    <include name="**/*-ejb-jar.xml"/>
    <exclude name="**/*ias-*.xml"/>
</ejbjar>

この例は、ネストされたclasspath要素と、他のオプションの属性の使用法を示しています。

<ejbjar srcdir="${build.classesdir}"
        descriptordir="${src}">

    <iplanet destdir="${assemble.ejbjar}"
             iashome="${ias.home}"
             debug="yes"
             keepgenerated="yes">
        <classpath>
            <pathelement path="."/>
            <pathelement path="${build.classpath}"/>
        </classpath>
    </iplanet>
    <include name="**/*-ejb-jar.xml"/>
    <exclude name="**/*ias-*.xml"/>
</ejbjar>

この例は、basejarname属性の使用法を示しています。この場合、完成したEJB jarの名前はHelloWorld.jarになります。複数のEJB記述子が見つかる可能性がある場合は、完成したJARファイルが相互に上書きしないように注意する必要があります。

<ejbjar srcdir="${build.classesdir}"
        descriptordir="${src}"
        basejarname="HelloWorld">

    <iplanet destdir="${assemble.ejbjar}"
             classpath="${ias.ejbc.cpath}"/>
    <include name="**/*-ejb-jar.xml"/>
    <exclude name="**/*ias-*.xml"/>
</ejbjar>

この例は、dtdネスト要素の使用法を示しています。DTDのローカルコピーがクラスパスに含まれている場合、ネストされた要素なしで自動的に参照されます。iAS 6.0 SP2では、これらのローカルDTDは[iAS-インストールディレクトリ]/APPSディレクトリにあります。iAS 6.0 SP3では、これらのローカルDTDは[iAS-インストールディレクトリ]/dtdディレクトリにあります。

<ejbjar srcdir="${build.classesdir}"
        descriptordir="${src}">
    <iplanet destdir="${assemble.ejbjar}">
             classpath="${ias.ejbc.cpath}"/>
    <include name="**/*-ejb-jar.xml"/>
    <exclude name="**/*ias-*.xml"/>

    <dtd publicId="-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN"
         location="${ias.home}/APPS/ejb-jar_1_1.dtd"/>
    <dtd publicId="-//Sun Microsystems, Inc.//DTD iAS Enterprise JavaBeans 1.0//EN"
         location="${ias.home}/APPS/IASEjb_jar_1_0.dtd"/>
</ejbjar>

JOnAS(Java Open Application Server)要素

<jonas>ネスト要素は、GenIC固有のツールのおかげでJOnAS固有のスタブとスケルトンを構築し、JOnASアプリケーションサーバーにデプロイ可能なJARファイルを構築するために使用されます。ビルドプロセスでは常に、EJBスタブ/スケルトンとEJB jarファイルが最新であるかどうかを判断し、必要な最小限の作業を行います。

WebLogic要素と同様に、EJB記述子の命名規則は、完成したJARファイルの名前を指定するために最も一般的に使用されます。たとえば、EJB記述子ejb/Account-ejb-jar.xmlが記述子ディレクトリにある場合、<jonas>要素は、ejb/Account-jonas-ejb-jar.xmlという名前のJOnAS固有のEJB記述子ファイルを検索し、ejb/Account.jarという名前のJARファイルが宛先ディレクトリに書き込まれます。ただし、<jonas>要素はJOnASの命名規則も使用できます。以下の例と同じように、EJB記述子は、記述子ディレクトリでejb/Account.xml(ここではベース名ターミネータなし)と名前を付けることもできます。次に、<jonas>要素は、ejb/jonas-Account.xmlという名前のJOnAS固有のEJB記述子ファイルを検索します。この規則は、EJB jarの命名規則の推奨事項に厳密には従いませんが、JOnASの以前のバージョンとの下位互換性のためにサポートされています。

EJB記述子がJARファイルに追加されると、自動的にMETA-INF/ejb-jar.xmlおよびMETA-INF/jonas-ejb-jar.xmlに名前が変更されることに注意してください。

もちろん、この命名動作は、ejbjarタスク(たとえば、basejarnamebasenameterminator、およびflatdestdir)と、iplanet要素(たとえば、suffix)で属性を指定することで変更できます。詳細については、適切なドキュメントを参照してください。

このタスクは、一時ディレクトリ内にスクラッチデータ用のディレクトリを作成します。

パラメータ

属性 説明 必須
destdir 生成されたJARファイルが書き込まれるベースディレクトリ。各JARファイルは、descriptordir名前空間内の場所に対応するディレクトリに書き込まれます。 はい
jonasroot JOnASのルートディレクトリ。 はい
classpath EJBスタブとスケルトンを生成するときに使用されるクラスパス。指定した場合、classpathは、親のejbjarタスクで指定されたクラスパスの先頭に追加されます(以下のORB属性のドキュメントも参照)。ネストされたclasspath要素も使用できることに注意してください。 いいえ。デフォルトでは、ejbjar親タスクで指定されたクラスパスになります。
keepgenerated GenICによって生成された中間Javaソースファイルを削除する必要があるかどうかを示すtrue いいえ。デフォルトはfalse
nocompil 生成されたソースファイルをJavaおよびRMIコンパイラーでコンパイルしない必要がある場合、true いいえ。デフォルトはfalse
novalidation XMLデプロイメント記述子を検証なしで解析する必要がある場合、true いいえ。デフォルトはfalse
javac 使用するJavaコンパイラー。 いいえ。デフォルトは、build.compilerプロパティの値です。
javacopts Javaコンパイラーに渡すオプション。 いいえ
rmicopts RMIコンパイラーに渡すオプション。 いいえ
secpropag セキュリティコンテキストの暗黙的な伝播を実装するためにRMIスケルトンとスタブを変更する必要がある場合、true(トランザクションコンテキストは常に提供されます)。 いいえ。デフォルトはfalse
verbose -verboseスイッチを使用するかどうかを示します。 いいえ。デフォルトはfalse
additionalargs GenICに追加の引数を追加します。 いいえ
keepgeneric GenICへの入力として使用される汎用JARファイルを保持する必要がある場合、true いいえ。デフォルトはfalse
jarsuffix 各JARを作成するときに、JARファイル名に追加される文字列値。 いいえ、デフォルトは.jarです。
orb ORBを選択してください:RMIJEREMIEDAVID。指定した場合、対応するJOnAS JARが自動的にクラスパスに追加されます。 いいえ。デフォルトはクラスパスに存在するものです。
nogenic この属性がtrueに設定されている場合、JOnASのGenICはEJB jarで実行されません。デプロイ時にGenICを実行する場合は、これを使用してください。 いいえ。デフォルトはfalse

上記のように、jonas要素は追加の<classpath>ネスト要素をサポートしています。

この例は、JOnAS EJBコンテナを使用してデプロイメントjarを生成するためにejbjarが使用されていることを示しています。この例では、デプロイメント記述子に命名標準を使用する必要があります。この形式を使用すると、デプロイメント記述子ディレクトリにある*-jar.xmlのバリエーションごとにEJB jarファイルが作成されます。

<ejbjar srcdir="${build.classes}"
        descriptordir="${descriptor.dir}">
  <jonas destdir="${deploymentjars.dir}"
       jonasroot="${jonas.root}"
       orb="RMI"/>
  <include name="**/*.xml"/>
  <exclude name="**/jonas-*.xml"/>
  <support dir="${build.classes}">
       <include name="**/*.class"/>
  </support>
</ejbjar>

この例は、JOnAS EJBコンテナを使用して単一のデプロイメントjarを生成するためにejbjarが使用されていることを示しています。この例では、デプロイメント記述子が命名標準を使用する必要があります。これにより、1つのEJB jarファイルTheEJBJar.jarのみが作成されます。

<ejbjar srcdir="${build.classes}"
        descriptordir="${descriptor.dir}"
        basejarname="TheEJBJar">
  <jonas destdir="${deploymentjars.dir}"
            jonasroot="${jonas.root}"
            suffix=".jar"
            classpath="${descriptorbuild.classpath}"/>
  <include name="**/ejb-jar.xml"/>
  <exclude name="**/jonas-ejb-jar.xml"/>
</ejbjar>

Orion要素

orion要素は、Orionアプリケーションサーバー固有のデプロイメント記述子を検索し、それらを最終的なEJB jarファイルに追加します。Orionには1つのデプロイメント記述子があります

属性 説明 必須
destdir 生成されたjarファイルが配置されるベースディレクトリ。Jarファイルは、descriptordir名前空間内の場所に対応するディレクトリに配置されます。 はい

<ejbjar srcdir="${build.classes}"
        descriptordir="${descriptor.dir}"
        basejarname="TheEJBJar"
        flatdestdir="true"
        dependency="super"
        genericjarsuffix=".jar">
  <include name="**/*-ejb-jar.xml"/>
  <orion destdir="${deploymentjars.dir}"\>
</ejbjar>