この章では、ADFを使用するアプリケーションをOracle Application ServerおよびJBoss、WebLogic、WebSphereなどのサード・パーティ・アプリケーションにデプロイする方法について説明します。
この章の内容は次のとおりです。
デプロイは、アプリケーション・ファイルをアーカイブ・ファイルとしてパッケージ化し、ターゲット・アプリケーション・サーバーに転送するプロセスです。ADFアプリケーションのデプロイは、標準のJ2EEアプリケーションのデプロイと少しだけ違います。
JDeveloperは次のデプロイ・オプションをサポートしています。
アプリケーション・サーバーへのデプロイ。
アーカイブ・ファイルへのデプロイ。アーカイブ・ファイルをデプロイ・ターゲットとして選択して、アプリケーションを間接的にデプロイできます。その後、アプリケーション・サーバー・ベンダーが提供するツールを使用して、アーカイブ・ファイルをデプロイできます。選択したその他のアプリケーション・サーバーへのデプロイの詳細は、Oracle Technology Network(http://www.oracle.com/technology
)にアクセスしてご確認ください。
テスト用のデプロイ。JDeveloperはアプリケーションのテスト用に2つのオプションを用意しています。
埋込みOC4Jサーバー: アプリケーションをJDeveloperの埋込みOracle Containers for J2EE(OC4J)サーバーで実行して、これらをデプロイせずにテストできます。OC4Jは、Oracle Application ServerのJ2EEコンポーネントです。
スタンドアロンOC4J: 開発環境では、Oracle Application Serverにデプロイする前にOC4Jのスタンドアロン・バージョンでアプリケーションをデプロイし、実行できます。スタンドアロンOC4JはJDeveloperに含まれています。
データソースへの接続
アプリケーションで使用するデータソース(データベースなど)を参照するデータソースをJDeveloperで構成する必要があります。
ADFランタイム・ライブラリ
サード・パーティ・アプリケーション・サーバー(JBoss、WebLogic、WebSphereなど)にデプロイする場合、サーバーにADFランタイム・ライブラリをインストールする必要があります。詳細は、34.12項「サード・パーティ・アプリケーション・サーバーでのADFランタイム・ライブラリのインストール」を参照してください。
Oracle Application Serverの場合、ADFランタイム・ライブラリはすでにインストールされています。
標準のパッケージ化
必要なすべてのファイルを用意したら、アプリケーション用のファイルを標準的な方法でデプロイ用にパッケージ化します。EARファイル、WARファイルまたはJARファイルが作成されます。
アプリケーションをデプロイする準備ができたら、様々なツールを使用してデプロイできます。JDeveloperからほとんどのアプリケーション・サーバーにデプロイできます。アプリケーション・サーバーのベンダーが提供するツールを使用することもできます。ツールについては、この章の各アプリケーション・サーバーの項で説明します。
アプリケーションをデプロイするには、次の手順を実行します。
手順1: ターゲット・アプリケーション・サーバーでのADFランタイム・ライブラリのインストール
手順2: ターゲット・アプリケーション・サーバーへの接続の作成
手順3: JDeveloperプロジェクト用のデプロイメント・プロファイルの作成
手順7: アプリケーションのデプロイ
手順1: ターゲット・アプリケーション・サーバーでのADFランタイム・ライブラリのインストール
ADFアプリケーションをサード・パーティ・アプリケーション・サーバーにデプロイする場合は、この手順を実行する必要があります。Oracle Application ServerまたはスタンドアロンOC4Jにデプロイする場合はオプションです。インストール手順は、34.12項「サード・パーティ・アプリケーション・サーバーでのADFランタイム・ライブラリのインストール」を参照してください。
ADF Facesコンポーネントを含むJSFアプリケーションには、次の追加デプロイ要件があります。
ADF Facesには、SunのJSF Reference Implementation 1.1_01(またはそれ以降)およびMyFaces 1.0.8(またはそれ以降)が必要です。
ADF Facesアプリケーションは、JSF 1.0のみをサポートするアプリケーション・サーバーでは動作しません。
手順2: ターゲット・アプリケーション・サーバーへの接続の作成
JDeveloperで、アプリケーションのデプロイ先のアプリケーション・サーバーへの接続を作成します。ターゲット・アプリケーション・サーバーがWebSphereの場合、JDeveloperではWebSphereへの接続を作成できないため、この手順を省略できます。WebSphereの場合は、WebSphereコンソールを使用してアプリケーションをデプロイします。詳細は、34.9項「WebSphereへのデプロイ」を参照してください。
アプリケーション・サーバーへの接続の作成方法:
接続ナビゲータで、「アプリケーション・サーバー」を右クリックし、「アプリケーション・サーバー接続の作成」を選択します。アプリケーション・サーバー接続の作成ウィザードが表示されます。
「次へ」をクリックして、「タイプ」ページに進みます。
「タイプ」ページで次のことを実行します。
接続の名前を指定します。
「接続タイプ」リスト・ボックスで、アプリケーション・サーバーのタイプを選択します。次のアプリケーション・サーバーにADFアプリケーションをデプロイできます。
スタンドアロンOC4J 10.1.3
Oracle Application Server(10.1.2または10.1.3)
WebLogic Server(8.xまたは9.x)
JBoss 4.0.x
Tomcat 5.x
「次へ」をクリックします。
アプリケーション・サーバーとしてTomcatを選択した場合は、「Tomcatディレクトリ」ページが表示されます。指示に従ってTomcatのwebappsディレクトリを入力し、「次へ」をクリックします。これがTomcatサーバーの最後の構成画面です。
アプリケーション・サーバーとしてJBossを選択した場合は、「JBossディレクトリ」ページが表示されます。指示に従ってJBossのdeployディレクトリを入力し、「次へ」をクリックします。これがJBossサーバーの最後の構成画面です。
「認証」ページで、アプリケーション・サーバーの管理者ユーザーに対応するユーザー名とパスワードを入力します。「次へ」をクリックします。
「接続」ページで、サーバー・インスタンスを指定し、接続を構成します。「次へ」をクリックします。
「テスト」ページで、接続をテストします。接続できなかった場合は、ウィザードの前のページに戻って、構成を修正します。
WebLogicを使用している場合、接続のテスト時に次のエラーが表示される場合があります。
Class Not Found Exception - weblogic.jndi.WLInitialContextFactory
この例外は、weblogic.jar
がJDeveloperのクラスパスにない場合に発生します。この例外を無視して、デプロイを続行できます。
「終了」をクリックします。
手順3: JDeveloperプロジェクト用のデプロイメント・プロファイルの作成
デプロイメント・プロファイルは、プロジェクトまたはアプリケーションのデプロイを管理するプロジェクト・コンポーネントです。デプロイメント・プロファイルでは、作成されるアーカイブ・ファイルのフォーマットと内容を指定します。
デプロイメント・プロファイルの作成方法:
アプリケーション・ナビゲータで、プロファイルを作成するプロジェクトを選択します。
「ファイル」→「新規」を選択して、新規ギャラリを開きます。
「カテゴリ」ツリーで「General」を展開し、「Deployment Profiles」を選択します。
「項目」リストで、プロファイル・タイプを選択します。ADFアプリケーションの場合、「項目」リストから次の1つを選択します。
WARファイル
EARファイル
ADF Business Componentsを使用している場合は、「ビジネス・コンポーネント・アーカイブ」も選択する必要があります。
必要な項目が見つからないか有効になっていない場合は、正しいプロジェクトを選択したことを確認し、「フィルタ方法」ドロップダウン・リストで「すべてのテクノロジ」を選択します。
「OK」をクリックします。
「デプロイメント・プロファイルの作成」ダイアログでデプロイメント・プロファイルの名前と場所を指定し、「OK」をクリックします。
プロジェクトにプロファイル<name>.deployが追加され、その「デプロイメント・プロファイルのプロパティ」ダイアログが表示されます。
左ペインで項目を選択すると、右ペインにダイアログのページが表示されます。ダイアログのページでプロパティ値を設定して、プロファイルを構成します。
通常はデフォルトの設定値を受け入れます。J2EEコンテキスト・ルート(左ペインで「General」を選択)を変更しなければならない場合があります。デフォルトでは、プロジェクト名に設定されています。ユーザーに違う名前でアプリケーションにアクセスさせる場合は、この名前を変更する必要があります。JAZNを使用した認証でカスタムのJAAS LoginModuleを使用している場合は、コンテキスト・ルート名によって、JAAS LoginModuleの検索に使用されるアプリケーション名も定義されます。
「OK」をクリックして、ダイアログを終了します。
ファイルを保存して、すべての変更を保持します。
デプロイメント・プロファイルを表示または編集するには、ナビゲータでプロファイルを右クリックし、「プロパティ」を選択するか、ナビゲータでプロファイルをダブルクリックします。「デプロイメント・プロファイルのプロパティ」ダイアログが表示されます。
手順4: デプロイメント・ディスクリプタの作成
デプロイメント・ディスクリプタは、アプリケーションのデプロイ構成を定義するサーバー構成ファイルで、必要に応じてJ2EEアプリケーションとともにデプロイされます。プロジェクトに必要なデプロイメント・ディスクリプタは、プロジェクトが使用しているテクノロジとターゲット・アプリケーション・サーバーのタイプによって異なります。デプロイメント・ディスクリプタは、ソース・ファイルとして作成および編集できるXMLファイルですが、JDeveloperは、ほとんどのディスクリプタ・タイプについて、プロパティの表示と設定に使用できるダイアログを備えています。
標準のJ2EEデプロイメント・ディスクリプタ(application.xml
、web.xml
など)に加えて、ターゲット・アプリケーション・サーバーに固有のデプロイメント・ディスクリプタも使用できます。たとえば、Oracle Application Serverにデプロイする場合は、orion-application.xml
、orion-web.xml
およびorion-ejb-jar.xml
を使用できます。
デプロイメント・ディスクリプタの作成方法:
アプリケーション・ナビゲータで、ディスクリプタを作成するプロジェクトを選択します。
「ファイル」→「新規」を選択して、新規ギャラリを開きます。
「カテゴリ」ツリーで「General」を展開し、「デプロイメント・ディスクリプタ」を選択します。
「項目」リストでディスクリプタのタイプを選択し、「OK」をクリックします。
必要な項目が見つからない場合は、正しいプロジェクトを選択したことを確認し、「フィルタ方法」ドロップダウン・リストで「すべてのテクノロジ」を選択します。必要な項目が有効になっていない場合は、プロジェクトにそのタイプのディスクリプタがすでに存在していないことを確認します。1つのプロジェクトで使用できるディスクリプタのインスタンスは1つだけです。
選択したデプロイメント・ディスクリプタのタイプによって、デプロイメント・ディスクリプタの作成ウィザードが起動するか、エディタ・ペインにファイルが開きます。
注意: EARファイルの場合は、1つのアプリケーションまたはワークスペースに複数のデプロイメント・ディスクリプタを作成しないでください。これらのファイルはプロジェクトに割り当てられますが、ワークスペース・スコープがあります。アプリケーションまたはワークスペースの複数のプロジェクトが同じデプロイメント・ディスクリプタを使用すると、起動されたプロジェクトに属するディスクリプタが他のディスクリプタより優先されます。この制約は、application.xml 、data-sources.xml 、jazn-data.xml およびorion-application.xml に適用されます。 |
デプロイメント・ディスクリプタのプロパティの表示または変更方法:
アプリケーション・ナビゲータで、デプロイメント・ディスクリプタを右クリックして、「プロパティ」を選択します。ポップアップ・メニューに「プロパティ」項目がない場合は、ディスクリプタをソース・ファイルとして編集する必要があります。ポップアップ・メニューから「開く」を選択して、XMLエディタ・ウィンドウにプロファイルを開きます。
左ペインで項目を選択すると、右ペインにダイアログのページが表示されます。ダイアログのページでプロパティ値を設定して、ディスクリプタを構成します。
終了したら「OK」をクリックします。
デプロイメント・ディスクリプタをXMLファイルとして編集する方法:
アプリケーション・ナビゲータで、デプロイメント・ディスクリプタを右クリックして、「開く」を選択します。XMLエディタにファイルが開きます。
手順5: ADFに必要な追加構成タスクの実行
アプリケーションでADF Facesコンポーネントを使用する場合は、J2EEデプロイメント・ディスクリプタにADF Facesのエントリが含まれ、アーカイブ・ファイル(通常はWARファイル)にADFとJSFの構成ファイルが含まれていることを確認します。アプリケーションでADF Facesコンポーネントを作成すると、JDeveloperによって自動的にファイルが作成および構成されます。
WARファイルに次の構成ファイルとライブラリ・ファイルが含まれていることをチェックします。
web.xml
: このファイルのADFおよびJSFエントリについては、11.4.2.1項「web.xmlファイルの追加情報」を参照してください。
faces-config.xml
ファイルとadf-faces-config.xml
ファイル: 詳細は、11.4.2.2項「faces-config.xmlファイルの追加情報」と11.4.2.3項「初期adf-faces-config.xmlファイル」を参照してください。
JSFおよびADF Facesで使用されるJARファイル:
commons-beanutils.jar
commons-collections.jar
commons-digester.jar
commons-logging.jar
jsf-api.jar
とjsf-impl.jar
: これらのJARファイルは、デフォルトでJDeveloperに含まれるJSF参照実装です。
注意: 他のJSF実装(MyFacesなど)を使用している場合は、デプロイメント・プロファイルの作成時にそれらのライブラリのJARファイルを含め、WARファイルからJSF JARファイル(jsf-api.jar とjsf-impl.jar )を削除する必要があります。この処理を行わないと、アプリケーションは正しく動作しません。 |
jstl.jar
とstandard.jar
: これらは、JavaServer Pages Standard Tag Library(JSTL)のライブラリです。
adf-faces-api.jar
: ADF Facesランタイム・ライブラリにあります。このJARにはすべての公開ADF Faces APIがあり、WARにデフォルトで含まれています。
adf-faces-impl.jar
:ADF Facesランタイム・ライブラリにあります。このJARにはすべてのプライベートADF Faces APIがあり、WARにデフォルトで含まれています。
adfshare.jar
: ADF Commonランタイム・ライブラリにあります。このJARにはADF Facesロギング・ユーティリティが含まれています。
ADF Business Componentsをデプロイする場合に必要なADFランタイム・ライブラリをインストールした場合、WARにはデフォルトでadfshare.jar
が含まれます。インストールされていない場合、WARデプロイメント・プロファイルの作成時に、WEB-INF/lib
にadfshare.jar
を手動で含める必要があります。
12.2項「データ・コントロール・パレットの使用」で説明したようにADFのデータ・バインドされたUIコンポーネントを使用している場合は、DataBindings.cpx
ファイルがあることを確認します。ファイルの詳細は、12.3項「DataBindings.cpxファイルでの作業」を参照してください。
JSFアプリケーションの一般的なWARディレクトリの構造は次のとおりです。
MyApplication/ JSF pages WEB-INF/ configuration files (web.xml, faces-config.xml etc) tag library descriptors (optional) classes/ application class files Properties files lib/ commons-beanutils.jar commons-collections.jar commons-digester.jar commons-logging.jar jsf-api.jar jsf-impl.jar jstl.jar standard.jar
手順6: アプリケーション・サーバー固有の構成の実行
アプリケーションをターゲット・アプリケーション・サーバーにデプロイする前に、ベンダー固有の構成が必要な場合があります。この章の各アプリケーション・サーバーの項を参照してください。
手順7: アプリケーションのデプロイ
JDeveloperからターゲット・アプリケーション・サーバーへのデプロイ方法:
デプロイメント・プロファイルを右クリックし、ポップアップ・メニューから「配布先」を選択して、前に(手順2)作成したアプリケーション・サーバー接続を選択します。
デプロイメント・プロファイルを使用して、アーカイブ・ファイル(EAR、WARまたはJARファイル)のみを作成することもできます。その後、ターゲット・アプリケーション・サーバーが提供するツールを使用して、アーカイブ・ファイルをデプロイできます。アーカイブ・ファイルの作成方法は次のとおりです。
デプロイメント・プロファイルを右クリックし、ポップアップ・メニューから「WARファイルへデプロイ」(または「EARファイルにデプロイ」)を選択します。
手順8: アプリケーションのテスト
アプリケーションは、デプロイが完了したら、アプリケーション・サーバーからテストすることができます。アプリケーションをテストするには、ブラウザ・ウィンドウを開き、次のタイプのURLを入力します。
Oracle ASの場合: http://<host>:port/<context root>/<page>
Facesページの場合: http://<host>:port/<context root>/faces/<page>
注意: Facesページの場合に/faces をURL内で指定する必要があるのは、Facesサーブレットと関連付けられる/facesのURLパターンを使用するようにJDeveloperがweb.xmlファイルを構成するためです。Facesサーブレットは、そのリクエスト単位処理を実行し、URL内の/faces部を取り除いた後、JSPに転送します。URL内で/facesを指定しないと、Facesサーブレットが関与しないため(URLパターンが一致しないため)、JSPは必要なJSFリクエスト単位処理なしで実行されます。 |
表34-1に、アプリケーションのデプロイおよびデプロイ・サイクル中に使用できる一般的なデプロイ方法を示します。表では、開発環境でのデプロイから本番環境のデプロイまでの順序でデプロイ方法をリストしています。本番環境では、システム管理者がスクリプト・ツールを使用してアプリケーションをデプロイする可能性があります。
表34-1 デプロイ方法
デプロイ方法 | 使用するとき |
---|---|
この方法は、通常アプリケーションをデプロイするときに使用されます。 アプリケーションを開発している場合、テストのために手早くデプロイする必要があります。編集プロセスとデプロイ・プロセスを何度も繰り返す必要があるからです。 JDeveloperには、アプリケーションを実行してテストできる、埋込みOC4Jサーバーが付属しています。外部アプリケーション・サーバーにもアプリケーションをテプロイして、テストする必要があります。 |
|
この方法は、通常テスト環境のアプリケーション・サーバーにアプリケーションをデプロイしてテストする準備ができている場合に使用します。テスト・サーバーでは、開発サーバーでは使用できない機能(LDAPやOracleASシングル・サインオンなど)をテストできます。 テスト環境を使用して、デプロイメント・スクリプトを開発することもできます。スクリプトにはAntを含めることができます。 |
|
この方法は、通常テストおよび本番環境で使用します。本番環境では、通常システム管理者がスクリプトを実行して、アプリケーションをデプロイします。 |
Antを使用して、アプリケーションをパッケージ化し、デプロイすることもできます。Antのデプロイメント・コマンドを含むbuild.xml
ファイルは、ターゲット・アプリケーション・サーバーによって異なります。
Antを使用したOracle Application Serverへのデプロイの詳細は、『Oracle Containers for J2EEデプロイメント・ガイド』の「OC4J Antタスクによるデプロイ」を参照してください。この章では、Antを使用してOracle Application Serverにデプロイする方法について詳しく説明しています。オラクル社は、Oracle Application Serverに固有のAntタスクを提供しています。
他のアプリケーション・サーバーへのデプロイについては、アプリケーション・サーバーのマニュアルを参照してください。アプリケーション・サーバーが特定のAntタスクを提供していない場合は、汎用Antタスクを使用できる可能性があります。たとえば、汎用のear
タスクによってEARファイルが作成されます。
Antの詳細は、http://ant.apache.org
を参照してください。
SRDemoアプリケーションには、BuildAndDeployと呼ばれるプロジェクトがあります。このプロジェクトには、EARおよびWARデプロイメント・プロファイルと、アプリケーションのビルドに使用できるAntスクリプトが含まれています。デプロイメント・プロファイルは、アプリケーション・ワークスペースのプロジェクトから適切なファイルを取り出し、EARファイルとWARファイルをビルドします。ターゲット・アプリケーション・サーバーにはEARファイルまたはWARファイルをデプロイできます。(アプリケーション・サーバーへの接続を作成した場合は、JDeveloperからアプリケーション・サーバーに直接デプロイできます。)
デプロイメント・プロファイルのプロパティを表示するには、デプロイメント・プロファイルを右クリックし、ポップアップ・メニューから「プロパティ」を選択します。
SRDemoアプリケーションには、UserInterface/src/META-INF/SRDemo-jazn-data.xml
ファイルもあります。ファイルには、アプリケーションを埋込みOC4Jサーバーですぐに使用できるように、複数のユーザー名とパスワードが含まれています。このファイルはEARファイルでは配布されません。アプリケーションを外部のアプリケーション・サーバーにデプロイする場合は、ターゲット・アプリケーション・サーバーに対応する資格証明ストアを設定する必要があります。
アプリケーションを複数のアプリケーション・サーバーにデプロイする場合は、各ターゲット・アプリケーション・サーバーに個別のデプロイメント・プロファイルを作成できます。これで、ターゲットごとにプロパティを個別に構成できます。
ここでは、Oracle Application Serverに固有のデプロイの詳細を説明します。
表34-2に、サポートされているOracle Application Serverのバージョンを示します。
Oracle Application Serverリリース2(10.1.2)にデプロイする場合、ADFアプリケーションを実行する前に、追加手順を実行する必要があります。
このバージョンのOracle Application ServerはJDK 1.4をサポートしています。つまり、JDK 1.5ではなくJDK 1.4でアプリケーションをビルドするようにJDeveloperを構成する必要があります。詳細は、34.11項「JDK 1.4をサポートするアプリケーション・サーバーへのデプロイ」を参照してください。
アプリケーション・サーバーにADFランタイム・ライブラリをインストールする必要があります。リリース2(10.1.2)に付属のADFランタイム・ライブラリをアップグレードする必要があるためです。ADFランタイム・ライブラリのインストールについては、34.12.1項「JDeveloperからのADFランタイム・ライブラリのインストール」を参照してください。
Oracle Application Serverリリース2(10.1.2)はJ2EE 1.3をサポートしていますが、JDeveloper 10.1.3はJ2EE 1.4をサポートしています。このため、J2EE 1.3コンポーネントを使用している場合、JDeveloperによってそのバージョンに適した構成ファイルが作成されていることを確認する必要があります。J2EE 1.3と1.4の構成ファイルは異なります。
表34-3に、J2EE 1.3に準拠するために必要な構成ファイルと、適切なバージョンのファイルを生成するためのJDeveloperの構成方法を示します。
表34-3 J2EE 1.3準拠の構成ファイルを生成するためのJDeveloperの構成方法
構成ファイル | 適切なバージョンのファイルを生成するためのJDeveloperの構成方法 |
---|---|
|
|
|
|
JDeveloperからアプリケーションを直接デプロイせずに、JDeveloperを使用してアーカイブ・ファイルを作成し、そのアーカイブ・ファイルを次の方法でデプロイできます。
Application Server Controlコンソールを使用。詳細は、『Oracle Containers for J2EEデプロイメント・ガイド』の「Application Server Controlコンソールによるデプロイ」を参照してください。
admin_client.jar
を使用。詳細は、『Oracle Containers for J2EEデプロイメント・ガイド』の「admin_client.jarユーティリティによるデプロイ」を参照してください。
『Oracle Containers for J2EEデプロイメント・ガイド』にはOracle Application Serverドキュメント・ライブラリからアクセスできます。
本番環境ではないスタンドアロンOC4J環境にデプロイしている場合は、アプリケーションが自動的にデプロイされるようにOC4Jを構成できます。この方法は、本番環境には使用しないでください。
詳細は、『Oracle Containers for J2EEデプロイメント・ガイド』の「OC4Jでのオートデプロイ」を参照してください。
クラスタ・トポロジにデプロイするには、次のいずれかの方法を使用できます。
JDeveloperで、Oracle Application Serverインスタンスの「グループ」にデプロイできます。この場合、Oracle Application Serverへの接続が「シングル・インスタンス」ではなく「グループ」に設定されていることを確認してください。
admin_client.jar
コマンドライン・ユーティリティを使用できます。このユーティリティでは、1つのコマンドを使用して、クラスタのすべてのノードにアプリケーションをデプロイできます。admin_client.jar
は、Oracle Application Server 10.1.3に含まれています。
詳細は、『Oracle Containers for J2EEデプロイメント・ガイド』の「admin_client.jarユーティリティによるデプロイ」を参照してください。
ここでは、JBossに固有のデプロイの詳細を説明します。
表34-4に、サポートされているJBossのバージョンを示します。
ADFを使用するアプリケーションをJBossにデプロイする前に、JBossでADFランタイム・ライブラリをインストールする必要があります。詳細は、34.12項「サード・パーティ・アプリケーション・サーバーでのADFランタイム・ライブラリのインストール」を参照してください。
JBossのバージョン4.0.3を実行している場合、JBossホームから次のディレクトリを削除する必要があります。これは、JSPおよびADF Facesコンポーネントの実行パフォーマンスを高めるためです。
deploy/jbossweb-tomcat55.sar/jsf-lib/
tmp
、log
およびdata
ディレクトリ(deploy
ディレクトリと同じレベル)
ディレクトリの削除後、JBossを再起動します。
これらのディレクトリを削除しないと、実行中に次の例外が発生する可能性があります。
org.apache.jasper.JasperException org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:370) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) javax.servlet.http.HttpServlet.service(HttpServlet.java:810) com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:322) com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:130) com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87) com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200) com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117) javax.faces.webapp.FacesServlet.service(FacesServlet.java:198) org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81) root cause java.lang.NullPointerException javax.faces.webapp.UIComponentTag.setupResponseWriter(UIComponentTag.java:615) javax.faces.webapp.UIComponentTag.doStartTag(UIComponentTag.java:217) org.apache.myfaces.taglib.core.ViewTag.doStartTag(ViewTag.java:71) org.apache.jsp.untitled1_jsp._jspx_meth_f_view_0(org.apache.jsp.untitled1_jsp:84) org.apache.jsp.untitled1_jsp._jspService(org.apache.jsp.untitled1_jsp:60) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) javax.servlet.http.HttpServlet.service(HttpServlet.java:810) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) javax.servlet.http.HttpServlet.service(HttpServlet.java:810) com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:322) com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:130) com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87) com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200) com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117) javax.faces.webapp.FacesServlet.service(FacesServlet.java:198) org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
JDeveloperからJBossにアプリケーションを直接デプロイするには、JDeveloperからターゲットのJBossアプリケーション・サーバーがインストールされているディレクトリにアクセスできなければなりません。つまり、JDeveloperとJBossを同じマシンで実行するか、JDeveloperマシンのネットワーク・ドライブをJBossマシンにマップする必要があります。
JDeveloperからJBossインストール・ディレクトリのJBOSS_HOME\server\default\deploy
ディレクトリにEARファイルをコピーする必要があるからです。
ビジネス・コンポーネント・プロジェクトウィザードで、「SQLスタイル」を「SQL92」に、「型マップ」を「Java」に設定します。ビジネス・コンポーネント・アプリケーションがEJBセッションBeanとしてデプロイされている場合、ADFでエミュレートされたXAデータソース実装を使用するためです。
ビジネス・コンポーネントJSPアプリケーションの場合は、ポップアップ・メニューから「EARファイルにデプロイ」を選択し、EARファイルとしてデプロイします。JBossはWARファイルのjava:comp/env/
JNDIネームスペースの下にEJB参照を追加しないため、このアプリケーションは、WARファイルではなくEARファイルにデプロイする必要があります。JDeveloperでJBossサーバーへの接続を設定した場合は、EARファイルをサーバーに直接デプロイできます。
JDeveloperでJBossサーバーへの接続を設定した場合は、JBossに直接デプロイできます。JDeveloperからデプロイする場合、EARファイルがJBOSS_HOME\server\default\deploy
ディレクトリにコピーされます。JBossは、そのディレクトリで検出されたEARファイルをデプロイします。アプリケーションにアクセスするためにJBossを再起動する必要はありません。
ここでは、WebLogicに固有のデプロイの詳細を説明します。
表34-5に、サポートされているWebLogicのバージョンを示します。
ADFを使用するアプリケーションをWebLogicにデプロイする前に、WebLogicでADFランタイム・ライブラリをインストールする必要があります。詳細は、34.12項「サード・パーティ・アプリケーション・サーバーでのADFランタイム・ライブラリのインストール」を参照してください。
アプリケーション・サーバー接続の作成ウィザードで「接続のテスト」をクリックすると、次の例外が表示されることがあります。
Class Not Found Exception - weblogic.jndi.WLInitialContextFactory
この例外は、weblogic.jar
がJDeveloperのクラスパスにない場合に発生します。この例外を無視して、デプロイを続行できます。
大きなEARファイルをデプロイしようとすると、JDeveloperで例外が発生することがあります。この場合は、サーバー・コンソールを使用してアプリケーションをデプロイしてください。
このバージョンのWebLogicはJDK 1.4をサポートしています。つまり、JDK 1.5ではなくJDK 1.4(WebLogicが提供するJDKなど)でアプリケーションをビルドするようにJDeveloperを構成する必要があります。詳細は、34.11項「JDK 1.4をサポートするアプリケーション・サーバーへのデプロイ」を参照してください。
WebLogic 8.1はJ2EE 1.3にのみ準拠しています。このため、J2EE 1.3に準拠するapplication.xml
ファイルを作成する必要があります。JDeveloperでこのファイルを作成するには、次のように選択します。
アプリケーション・ナビゲータでプロジェクトを選択します。
「ファイル」→「新規」を選択して、新規ギャラリを表示します。
「カテゴリ」で「General」を展開し、「デプロイメント・ディスクリプタ」を選択します。
「項目」で「J2EEデプロイメント・ディスクリプタ・ウィザード」を選択し、「OK」をクリックします。
ウィザードで「次へ」をクリックし、「ディスクリプタの選択」ページを表示します。
「ディスクリプタの選択」ページで「application.xml」を選択し、「次へ」をクリックします。
「バージョンを選択」ページで「1.3」を選択し、「次へ」をクリックします。
サマリー・ページで「終了」をクリックします。
同様に、web.xml
は、J2EE 1.3(サーブレット2.3およびJSP 1.2に対応)に準拠している必要があります。JDeveloperでこのファイルを作成するには、上述の手順に従いますが、「ディスクリプタの選択」ページでは「web.xml」を、「バージョンを選択」ページでは「2.3」を選択します。
アプリケーションでStrutsを使用している場合は、まずバージョン2.3でweb.xml
ファイルを作成し、その後必要なStruts構成ファイルを作成します。順番を逆にすると(Struts構成ファイルを先に作成)、web.xml
ファイルが作成されていない場合、このファイルがStruts構成ファイルによって作成されますが、J2EE 1.4用のファイルが作成されるため、WebLogic 8.1では機能しません。
JDeveloperからWebLogic 9.0にデプロイしている場合は、WebLogicコンソールで、HTTPトンネリング・プロパティが有効になっていることを確認してください。このプロパティは、「Servers」→「ServerName」→「Protocols」の下にあります。ServerNameは、WebLogicサーバーの名前です。
JDeveloperでWebLogicサーバーへの接続を設定した場合は、WebLogicに直接デプロイできます。
WebLogicコンソール(例: http://
<weblogic_host:port>
/console/
)を使用してデプロイできます。
ここでは、WebSphereに固有のデプロイの詳細を説明します。
表34-6に、サポートされているWebSphereのバージョンを示します。
このバージョンのWebSphereはJDK 1.4をサポートしています。つまり、JDK 1.5ではなくJDK 1.4でアプリケーションをビルドするようにJDeveloperを構成する必要があります。詳細は、34.11項「JDK 1.4をサポートするアプリケーション・サーバーへのデプロイ」を参照してください。
ADFを使用するアプリケーションをWebSphereにデプロイする前に、WebSphereでADFランタイム・ライブラリをインストールする必要があります。詳細は、34.12.2項「ADFアプリケーションを実行するようにWebSphere 6.0.1を構成」を参照してください。JDeveloperはWebSphereアプリケーション・サーバーに接続できません。このため、ADF実行時ライブラリを手動でインストールする必要があります。
デプロイするADFアプリケーションのweb.xml
ファイルに次の行があることを確認してください。
<servlet> <servlet-name>jsp</servlet-name> <servlet-class>com.ibm.ws.webcontainer.jsp.servlet.JspServlet</servlet-class> </servlet>
デプロイ用にデータソースと他の変数を構成する必要があります。アプリケーションの作成時に使用した正しいデータソース名、JNDI名、URLなどを使用してください。
アプリケーションのデプロイ後、アプリケーションのSQLスタイルと型マップに応じて、ADFアプリケーションに適した共有ライブラリ参照を追加する必要があります。共有ライブラリは、手順5で作成しました。
WebSphereコンソール(例: http://
<websphere_host:port>
/ibm/console/
)を使用してデプロイできます。
ここでは、Tomcatに固有のデプロイの詳細を説明します。
ADFを使用するアプリケーションをTomcatにデプロイする前に、TomcatでADFランタイム・ライブラリをインストールする必要があります。詳細は、34.12項「サード・パーティ・アプリケーション・サーバーでのADFランタイム・ライブラリのインストール」を参照してください。
ADFランタイム・ライブラリのインストール後、ファイル名をTOMCAT_HOME/common/jlib/bc4jdomgnrc
からbc4jdomgnrc.jar
に変更します(ファイル名に.jar
拡張子を追加)。このファイルは、Java型マッピングを使用するユーザーに必要です。
アプリケーションはJDeveloperからTomcatにデプロイすることも(Tomcatサーバーへの接続を設定した場合)、Tomcatコンソールを使用してデプロイすることもできます。
JDK 1.4を使用するアプリケーション・サーバーにデプロイしている場合、JDK 1.4を使用してアプリケーションをビルドするようにJDeveloperを構成する必要があります。デフォルトでは、JDeveloper 10.1.3はJDK 1.5を使用します。JDK 1.5でアプリケーションをビルドし、JDK 1.4をサポートするアプリケーション・サーバーで実行すると、クラス・バージョンがサポートされていないことを示すエラーが発生する可能性があります。
JDK 1.4をサポートするアプリケーション・サーバーには、Oracle Application Serverリリース2(10.1.2)、WebLogic 8.1、WebSphereなどがあります。
JDK 1.4を使用してプロジェクトをビルドするようにJDeveloperを構成する方法:
JDeveloperを実行するマシンにJ2SE 1.4をインストールします。
インストールしたJ2SE 1.4でJDeveloperを構成します。
JDeveloperで、「ツール」→「ライブラリの管理」を選択します。「ライブラリの管理」ダイアログが表示されます。
「ライブラリの管理」ダイアログで「J2SE定義」タブを選択します。
右側の「J2SE実行可能プログラム」フィールドの「参照」ボタンをクリックし、J2SE_1.4/bin/java.exe
ファイルに移動します。J2SE_1.4
は、J2SE 1.4をインストールしたディレクトリです。
「OK」をクリックします。
J2SE 1.4を使用するようにプロジェクトを構成します。
プロジェクトの「プロジェクト・プロパティ」ダイアログの左側で「ライブラリ」を選択します。
右側で「J2SEバージョン」フィールドの「変更」ボタンをクリックします。「J2SE定義の編集」ダイアログが表示されます。
「J2SE定義の編集」ダイアログの右側にある「ユーザー」の下で「1.4」を選択します。
「J2SE定義の編集」ダイアログで「OK」をクリックします。
「プロジェクト・プロパティ」ダイアログで「OK」をクリックします。
埋込みOC4Jサーバーを使用してOracle JDeveloper 10.1.3アプリケーションを実行する場合、該当するアプリケーションはJDK 1.5用に構成されています。JDK 1.4に切り替えようとすると、JSPコンパイル・エラーになります。これに対処するには、JDK 1.4を使用してOC4Jを再起動するときに、該当するアプリケーション・ファイルを強制的に再コンパイルする必要があります。JDK 1.4に合せて埋込みOC4Jを構成する方法は次のとおりです。
前述の手順に従ってJDeveloper 10.1.3.4を構成します。
埋込みOC4Jサーバーのインスタンスを停止します。
次のディレクトリを削除します。
ORACLE_HOME/j2ee/instance/application-deployments
埋込みサーバーを再度起動します。
ADFを使用するアプリケーションをサード・パーティのアプリケーション・サーバーにデプロイする前に、それらのアプリケーション・サーバーにADFランタイム・ライブラリをインストールする必要があります。ウィザードを使用するか手動でインストールします。
WebLogic、JBossおよびTomcatの場合、ADF Runtime Installerウィザードを使用して、JDeveloperからADFランタイム・ライブラリをインストールできます。34.12.1項「JDeveloperからのADFラインタイム・ライブラリのインストール」を参照してください。
WebSphereの場合は、ADFランタイム・ライブラリを手動でインストールする必要があります。詳細は、34.12.2項「ADFアプリケーションを実行するようにWebSphere 6.0.1を構成」を参照してください。
すべてのアプリケーション・サーバーについて、ADFラインタイム・ライブラリを手動でインストールできます。34.12.3項「ADFラインタイム・ライブラリの手動インストール」を参照してください。
選択したアプリケーション・サーバーにJDeveloperからADFランタイム・ライブラリをインストールできます。サポートされているアプリケーション・サーバーは、「ツール」→「ADF Runtime Installer」サブメニューを選択すると表示されます。
WebSphereの場合、ライブラリを手動でインストールする必要があります。詳細は、34.12.2項「ADFアプリケーションを実行するようにWebSphere 6.0.1を構成」を参照してください。
JDeveloperからのADFランタイム・ライブラリのインストール方法:
ターゲット・アプリケーション・サーバーのすべてのインスタンスを停止します。
(WebLogicのみ)WebLogicドメインがない場合は新しく作成します。このドメインにADFランタイム・ライブラリをインストールします。
WebLogicでのドメインの作成手順は次のとおりです。
注意: ドメインは、SunのJDKを使用するように構成する必要があります。 |
WebLogic 8.1でのドメインの作成手順:
「スタート」メニューから「すべてのプログラム」→「BEA WebLogic Platform 8.1」→「Configuration Wizard」を選択します。Configurationウィザードが起動します。
「Create or Extend a Configuration」ページで、「Create a new WebLogic Configuration」を選択します。「Next」をクリックします。
「Select a Configuration Template」ページで、「Basic WebLogic Server Domain」を選択します。「Next」をクリックします。
「Choose Express or Custom Configuration」ページで「Express」を選択します。「Next」をクリックします。
「Configure Administrative Username and Password」ページでユーザー名とパスワードを入力します。「Next」をクリックします。
「Configure Server Start Mode and Java SDK」ページで、SunのJDKを選択します。「Next」をクリックします。
「Create WebLogic Configuration」ページで、ドメイン名を変更できます。たとえば、jdevdomain
に変更できます。
WebLogic 9.0でのドメインの作成手順:
「スタート」メニューから「すべてのプログラム」→「BEA Products」→「Tools」→「Configuration Wizard」を選択します。Configurationウィザードが起動します。
「Welcome」ページで、「Create a new WebLogic Domain」を選択します。「Next」をクリックします。
「Select a Domain Source」ページで、「Generate a domain configured automatically to support the following BEA products」を選択します。「Next」をクリックします。
「Configure Administrator Username and Password」ページでユーザー名とパスワードを入力します。「Next」をクリックします。
「Configure Server Start Mode and JDK」ページで、SunのJDKを選択します。「Next」をクリックします。
「Customize Environment and Services Settings」ページで「No」を選択します。「Next」をクリックします。
「Create WebLogic Domain」ページで、ドメイン名を設定します。たとえば、jdevdomain
に設定できます。「Create」をクリックします。
「ツール」→「ADF Runtime Installer」→「Application_Server_Type」を選択して、ADF Runtime Installerウィザードを起動します。「Application_Server_Type」は、ターゲット・アプリケーション・サーバーのタイプです(Oracle Application Server、WebLogic、JBoss、スタンドアロンOC4Jなど)。
ウィザードのページの指示に従います。ウィザードのページの詳細な手順については、「ヘルプ」をクリックしてください。ウィザードには、次の情報を入力する必要があります。
「ホーム・ディレクトリ」ページでは、ターゲット・アプリケーション・サーバーのホーム・ディレクトリまたはルート・ディレクトリを選択します。
(WebLogicのみ)「ドメイン・ディレクトリ」ページでは、ADFライブラリをインストールするWebLogicドメインのホーム・ディレクトリを選択します。このドメインは、手順2で作成しました。
「インストール・オプション」ページで、「ADFラインタイム・ライブラリのインストール」を選択します。
サマリー・ページで詳細を確認し、「終了」をクリックします。
(WebLogicのみ)WebLogicの起動時に、WebLogicにADFランタイム・ライブラリが含まれるようにWebLogicのスタートアップ・ファイルを編集します。
WebLogic 8.1の手順:
次の手順で編集するWEBLOGIC_HOME\user_projects\domains\jdevdomain\startWebLogic.cmd
(またはstartWebLogic.sh
)ファイルのバックアップ・コピーを作成します。"jdevdomain
は、手順2で作成したドメインの名前です。
startWebLogic.cmd
(またはstartWebLogic.sh
)ファイルで、set
CLASSPATH
行の前にcall "setupadf.cmd"
行(Windowsの場合)を追加します。
call "setupadf.cmd"
set CLASSPATH=%WEBLOGIC_CLASSPATH%;%POINTBASE_CLASSPATH%;
%JAVA_HOME%\jre\lib\rt.jar;%WL_HOME%\server\lib\webservices.jar;
%CLASSPATH%
setupadf.cmd
スクリプトは、ADF Runtime Installerウィザードによって、WEBLOGIC_HOME\user_projects\domains\jdevdomain
ディレクトリにインストールされています。
WebLogicを起動するには、ディレクトリをjdevdomain
ディレクトリに変更し、startWebLogic.cmd
を実行します。
> cd WEBLOGIC_HOME\user_projects\domains\jdevdomain > startWebLogic.cmd
WebLogic 9.0の手順:
次の手順で編集する%DOMAIN_HOME%\bin\setDomainEnv.cmd
ファイルのバックアップ・コピーを作成します。
%DOMAIN_HOME%
は、startWebLogic.cmd
(またはstartWebLogic.sh
)ファイルで指定されます。たとえば、ドメインにjdevdomain
という名前を付けた場合、%DOMAIN_HOME%
は、BEA_HOME\user_projects\domains\jdevdomain
となります。このドメインは、手順2で作成しました。
%DOMAIN_HOME%\bin\setDomainEnv.cmd
ファイルで、set
CLASSPATH
行の前にcall "%DOMAIN_HOME%\setupadf.cmd"
行を追加します。
call "%DOMAIN_HOME%\setupadf.cmd" set CLASSPATH=%PRE_CLASSPATH%;%WEBLOGIC_CLASSPATH%;%POST_CLASSPATH%; %WLP_POST_CLASSPATH%;%WL_HOME%\integration\lib\util.jar;%CLASSPATH%
set CLASSPATH行に%CLASSPATH%
がない場合は、上に示したように追加してください。
WebLogicを起動するには、ディレクトリを%DOMAIN_HOME%
に変更し、startWebLogic.cmd
を実行します。
> cd %DOMAIN_HOME% > startWebLogic.cmd
(WebLogicのみ)JDeveloperを実行する前に、クラスパスにWebLogicクライアントが含まれるようにJDeveloperを構成します。
次の手順で編集するJDEVELOPER_HOME\jdev\bin\jdev.conf
ファイルのバックアップ・コピーを作成します。
jdev.conf
ファイルに次の行を追加します。
AddJavaLibFile <WEBLOGIC_HOME>\server\lib\weblogic.jar
<WEBLOGIC_HOME>
を、WebLogicをインストールしたディレクトリのフルパスに置き換えます。
ターゲット・アプリケーション・サーバーを再起動します。WebLogicを実行している場合、サーバーをすでに起動している可能性があります。
アプリケーション・サーバーには、異なるバージョンのADFランタイム・ライブラリを含めることができますが、デプロイしたアプリケーションがアクセスできるのは常に1つのバージョン(アクティブ・バージョン)のみです。他のバージョンはアーカイブされます。
ADF Runtime Installerウィザードを使用して、異なるバージョンをアクティブ・バージョンにすることができます。ウィザードの「インストール・オプション」ページで「リストア」オプションを選択します。
WebSphere 6.0.1でADFアプリケーションを実行するには、次の手順を実行する必要があります。
次のように、install_adflibs_1013.sh
(Windowsでは.cmd
)スクリプトを作成します。
UNIXで実行する場合:
34.12.2.1項「install_adflibs_1013.shスクリプトのソース」に示すソースをコピーし、ファイルに貼り付けます。ファイルをinstall_adflibs_1013.sh
として保存します。
install_adflibs_1013.sh
で実行権限を有効にします。
> chmod a+x install_adflibs_1013.sh
Windowsで実行する場合は、34.12.2.2項「install_adflibs_1013.cmdスクリプトのソース」に示すソースをコピーし、ファイルに貼り付けます。ファイルをinstall_adflibs_1013.cmd
として保存します。
スクリプトは、手順3で実行します。
WebSphereプロセスを終了します。
次のように、install_adflibs_1013.sh
(Windowsでは.cmd
)スクリプトを実行して、ADFライブラリをインストールします。
ORACLE_HOME環境変数を、JDeveloperインストールをポイントするように設定します。
WAS_ADF_LIB環境変数を、ADFライブラリ・ファイルのインストール先をポイントするように設定します。通常、インストール先はWebSphereホーム・ディレクトリです。ライブラリ・ファイルは、WAS_ADF_LIB/lib
ディレクトリとWAS_ADF_LIB/jlib
ディレクトリにインストールされます。
該当するスクリプトを実行します。<script_dir>
は、該当するスクリプトが作成されたディレクトリを指しています。
> cd <script_dir>
> install_adflib_1013.sh // if on Windows, use the .cmd extension
WebSphereプロセスを開始します。
WebSphere管理ツールを使用して、新しい共有ライブラリを作成します。アプリケーションに基づいて、次の共有ライブラリの1つを作成します。
Oracle SQLスタイルと型マップを使用するアプリケーションの場合は、ADF10.1.3-Oracle共有ライブラリを作成します。
共有ライブラリの名前をADF10.1.3-Oracle
に設定します。
WAS_ADF_LIB\jlib\bc4jdomgnrc.jar
を除く、WAS_ADF_LIB\lib
とWAS_ADF_LIB\jlib
内のすべてのJARファイルが含まれるように、クラスパスを設定します。このJARファイルは、汎用型マップに使用されます。
WAS_ADF_LIB
は、WebSphereコンソールで定義されたライブラリとして使用されるディレクトリです。WAS_ADF_LIB
にはADFライブラリ・ファイルが含まれます。
非Oracle SQLスタイルと型マップを使用するアプリケーションの場合は、ADF10.1.3-Generic共有ライブラリを作成します。
共有ライブラリの名前をADF10.1.3-Generic
に設定します。
WAS_ADF_LIB\jlib\bc4jdomgnrc.jar
と、bc4jdomorcl.jar
を除くWAS_ADF_LIB\lib
内のすべてのJARファイルが含まれるようにクラスパスを設定します。WAS_ADF_LIB
は、WebSphereコンソールで定義されたライブラリとして使用されるディレクトリです。WAS_ADF_LIB
にはADFライブラリ・ファイルが含まれます。
WebSphereの起動用に、Javaコマンドに次のパラメータを追加します。
-Djavax.xml.transform.TransformerFactory=org.apache.xalan.processor.TransformerFactoryImpl
WebSphereをシャットダウンした後、再起動して、新しいパラメータを有効にします。
例34-1は、install_adflibs_1013.sh
スクリプトのソースです。ADFランタイム・ライブラリ・ファイルを手動でWebSphere環境にコピーするかわりに、このスクリプトを使用できます。詳細は、34.12.2項「ADFアプリケーションを実行するようにWebSphere 6.0.1を構成」を参照してください。
install_adflibs_1013.sh
スクリプトは、UNIX環境用です。Windowsを使用している場合は、34.12.2.2項「install_adflibs_1013.cmdスクリプトのソース」を参照してください。
例34-1 install_adflibs_1013.sh
#!/bin/sh EXIT=0 if [ "$ORACLE_HOME" = "" ] then echo "Error: The ORACLE_HOME environment variable must be set before executing this script." echo "This should point to your JDeveloper installation directory" EXIT=1 fi if [ "$WAS_ADF_LIB" = "" ]; then echo "Error: The WAS_ADF_LIB environment variable must be set before executing this script." echo "This should point to the location where you would like the ADF jars to be copied." EXIT=1 fi if [ "$EXIT" -eq 0 ] then if [ ! -d $WAS_ADF_LIB ]; then mkdir $WAS_ADF_LIB fi if [ ! -d $WAS_ADF_LIB/lib ]; then mkdir $WAS_ADF_LIB/lib fi if [ ! -d $WAS_ADF_LIB/jlib ]; then mkdir $WAS_ADF_LIB/jlib fi # Core BC4J runtime cp $ORACLE_HOME/BC4J/lib/adfcm.jar $WAS_ADF_LIB/lib/ cp $ORACLE_HOME/BC4J/lib/adfm.jar $WAS_ADF_LIB/lib/ cp $ORACLE_HOME/BC4J/lib/adfmweb.jar $WAS_ADF_LIB/lib/ cp $ORACLE_HOME/BC4J/lib/adfshare.jar $WAS_ADF_LIB/lib/ cp $ORACLE_HOME/BC4J/lib/bc4jct.jar $WAS_ADF_LIB/lib/ cp $ORACLE_HOME/BC4J/lib/bc4jctejb.jar $WAS_ADF_LIB/lib/ cp $ORACLE_HOME/BC4J/lib/bc4jdomorcl.jar $WAS_ADF_LIB/lib/ cp $ORACLE_HOME/BC4J/lib/bc4jimdomains.jar $WAS_ADF_LIB/lib/ cp $ORACLE_HOME/BC4J/lib/bc4jmt.jar $WAS_ADF_LIB/lib/ cp $ORACLE_HOME/BC4J/lib/bc4jmtejb.jar $WAS_ADF_LIB/lib/ cp $ORACLE_HOME/BC4J/jlib/dc-adapters.jar $WAS_ADF_LIB/lib/ cp $ORACLE_HOME/BC4J/jlib/adf-connections.jar $WAS_ADF_LIB/lib/ # Core BC4J jlib runtime cp $ORACLE_HOME/BC4J/jlib/bc4jdomgnrc.jar $WAS_ADF_LIB/jlib/ cp $ORACLE_HOME/BC4J/jlib/adfui.jar $WAS_ADF_LIB/lib/ cp $ORACLE_HOME/BC4J/jlib/adfmtl.jar $WAS_ADF_LIB/lib/ # Oracle Home jlib runtime cp $ORACLE_HOME/jlib/jdev-cm.jar $WAS_ADF_LIB/lib/ cp $ORACLE_HOME/jlib/jsp-el-api.jar $WAS_ADF_LIB/lib/ cp $ORACLE_HOME/jlib/oracle-el.jar $WAS_ADF_LIB/lib/ cp $ORACLE_HOME/jlib/commons-el.jar $WAS_ADF_LIB/lib/ # Oracle MDS runtime cp $ORACLE_HOME/jlib/commons-cli-1.0.jar $WAS_ADF_LIB/lib/ cp $ORACLE_HOME/jlib/xmlef.jar $WAS_ADF_LIB/lib/ cp $ORACLE_HOME/mds/lib/mdsrt.jar $WAS_ADF_LIB/lib/ cp $ORACLE_HOME/mds/lib/concurrent.jar $WAS_ADF_LIB/lib/ # Oracle Diagnostic cp %ORACLE_HOME%/diagnostics/lib/commons-cli-1.0.jar $WAS_ADF_LIB/lib/ # SQLJ Runtime cp $ORACLE_HOME/sqlj/lib/translator.jar $WAS_ADF_LIB/lib/ cp $ORACLE_HOME/sqlj/lib/runtime12.jar $WAS_ADF_LIB/lib/ # Intermedia Runtime cp $ORACLE_HOME/ord/jlib/ordhttp.jar $WAS_ADF_LIB/lib/ cp $ORACLE_HOME/ord/jlib/ordim.jar $WAS_ADF_LIB/lib/ # OJMisc cp $ORACLE_HOME/jlib/ojmisc.jar $WAS_ADF_LIB/lib/ # XML Parser cp $ORACLE_HOME/lib/xmlparserv2.jar $WAS_ADF_LIB/lib/ # JDBC cp $ORACLE_HOME/jdbc/lib/ojdbc14.jar $WAS_ADF_LIB/lib/ cp $ORACLE_HOME/jdbc/lib/ojdbc14dms.jar $WAS_ADF_LIB/lib/ cp $ORACLE_HOME/lib/dms.jar $WAS_ADF_LIB/lib/ # XSQL Runtime cp $ORACLE_HOME/lib/xsqlserializers.jar $WAS_ADF_LIB/lib/ cp $ORACLE_HOME/lib/xsu12.jar $WAS_ADF_LIB/lib/ cp $ORACLE_HOME/lib/xml.jar $WAS_ADF_LIB/lib/ fi
例34-2は、install_adflibs_1013.cmd
スクリプトのソースです。ADFランタイム・ライブラリ・ファイルを手動でWebSphere環境にコピーするかわりに、このスクリプトを使用できます。詳細は、34.12.2項「ADFアプリケーションを実行するようにWebSphere 6.0.1を構成」を参照してください。
install_adflibs_1013.cmd
スクリプトは、Windows環境用です。UNIXを使用している場合は、34.12.2.1項「install_adflibs_1013.shスクリプトのソース」を参照してください。
例34-2 install_adflibs_1013.cmd
@echo off if {%ORACLE_HOME%} =={} goto :oracle_home if {%WAS_ADF_LIB%} =={} goto :was_adf_lib mkdir %WAS_ADF_LIB% mkdir %WAS_ADF_LIB%\lib mkdir %WAS_ADF_LIB%\jlib @REM Core BC4J runtime copy %ORACLE_HOME%\BC4J\lib\adfcm.jar %WAS_ADF_LIB%\lib\ copy %ORACLE_HOME%\BC4J\lib\adfm.jar %WAS_ADF_LIB%\lib\ copy %ORACLE_HOME%\BC4J\lib\adfmweb.jar %WAS_ADF_LIB%\lib\ copy %ORACLE_HOME%\BC4J\lib\adfshare.jar %WAS_ADF_LIB%\lib\ copy %ORACLE_HOME%\BC4J\lib\bc4jct.jar %WAS_ADF_LIB%\lib\ copy %ORACLE_HOME%\BC4J\lib\bc4jctejb.jar %WAS_ADF_LIB%\lib\ copy %ORACLE_HOME%\BC4J\lib\bc4jdomorcl.jar %WAS_ADF_LIB%\lib\ copy %ORACLE_HOME%\BC4J\lib\bc4jimdomains.jar %WAS_ADF_LIB%\lib\ copy %ORACLE_HOME%\BC4J\lib\bc4jmt.jar %WAS_ADF_LIB%\lib\ copy %ORACLE_HOME%\BC4J\lib\bc4jmtejb.jar %WAS_ADF_LIB%\lib\ copy %ORACLE_HOME%\BC4J\lib\collections.jar %WAS_ADF_LIB%\lib\ copy %ORACLE_HOME%\BC4J\lib\adfbinding.jar %WAS_ADF_LIB%\lib\ copy %ORACLE_HOME%\BC4J\jlib\dc-adapters.jar %WAS_ADF_LIB%\lib\ copy %ORACLE_HOME%\BC4J\jlib\adf-connections.jar %WAS_ADF_LIB%\lib\ @REM Core BC4J jlib runtime copy %ORACLE_HOME%\BC4J\jlib\bc4jdomgnrc.jar %WAS_ADF_LIB%\jlib\ copy %ORACLE_HOME%\BC4J\jlib\adfui.jar %WAS_ADF_LIB%\lib\ copy %ORACLE_HOME%\BC4J\jlib\adfmtl.jar %WAS_ADF_LIB%\lib\ @REM Oracle Home jlib runtime copy %ORACLE_HOME%\jlib\jdev-cm.jar %WAS_ADF_LIB%\lib\ copy %ORACLE_HOME%\jlib\jsp-el-api.jar %WAS_ADF_LIB%\lib\ copy %ORACLE_HOME%\jlib\oracle-el.jar %WAS_ADF_LIB%\lib\ copy %ORACLE_HOME%\jlib\commons-el.jar %WAS_ADF_LIB%\lib\ @REM Oracle MDS runtime copy %ORACLE_HOME%\jlib\commons-cli-1.0.jar %WAS_ADF_LIB%\lib\ copy %ORACLE_HOME%\jlib\xmlef.jar %WAS_ADF_LIB%\lib\ copy %ORACLE_HOME%\mds\lib\mdsrt.jar %WAS_ADF_LIB%\lib\ copy %ORACLE_HOME%\mds\lib\concurrent.jar %WAS_ADF_LIB%\lib\ @REM Oracle Diagnostic copy %ORACLE_HOME%\diagnostics\lib\ojdl.jar %WAS_ADF_LIB%\lib\ @REM SQLJ Runtime copy %ORACLE_HOME%\sqlj\lib\translator.jar %WAS_ADF_LIB%\lib\ copy %ORACLE_HOME%\sqlj\lib\runtime12.jar %WAS_ADF_LIB%\lib\ @REM Intermedia Runtime copy %ORACLE_HOME%\ord\jlib\ordhttp.jar %WAS_ADF_LIB%\lib\ copy %ORACLE_HOME%\ord\jlib\ordim.jar %WAS_ADF_LIB%\lib\ @REM OJMisc copy %ORACLE_HOME%\jlib\ojmisc.jar %WAS_ADF_LIB%\lib\ @REM XML Parser copy %ORACLE_HOME%\lib\xmlparserv2.jar %WAS_ADF_LIB%\lib\ @REM JDBC copy %ORACLE_HOME%\jdbc\lib\ojdbc14.jar %WAS_ADF_LIB%\lib\ copy %ORACLE_HOME%\jdbc\lib\ojdbc14dms.jar %WAS_ADF_LIB%\lib\ copy %ORACLE_HOME%\lib\dms.jar %WAS_ADF_LIB%\lib\ @REM XSQL Runtime copy %ORACLE_HOME%\lib\xsqlserializers.jar %WAS_ADF_LIB%\lib\ copy %ORACLE_HOME%\lib\xsu12.jar %WAS_ADF_LIB%\lib\ copy %ORACLE_HOME%\lib\xml.jar %WAS_ADF_LIB%\lib\ goto :end :oracle_home @echo Set the ORACLE_HOME pointing to the directory of your 10.1.3 JDeveloper installation. :was_adf_lib if {%WAS_ADF_LIB%} =={} @echo Set the WAS_ADF_LIB environment variable pointing to the directory where you would like to install ADF libraries. :end
JDeveloperのADF Runtime Installerウィザードを使用してライブラリをインストールするかわりに、ターゲット・アプリケーション・サーバーにライブラリを手動でインストールすることもできます。
表34-8に、ADFアプリケーションをデプロイする前にアプリケーション・サーバーにコピーする必要があるファイルを示します。表のJDEV_INSTALL
は、JDeveloperをインストールしたディレクトリです。
JBossの場合、宛先ディレクトリはJBOSS_HOME/server/default/lib
です。
WebLogicの場合、宛先ディレクトリはWEBLOGIC_HOME/ADF/lib
です。ADF
ディレクトリを作成し、その下にlib
ディレクトリとjlib
ディレクトリを作成する必要があります。
表34-8 コピーするADFランタイム・ライブラリ・ファイル
コピーするファイル: | メモ |
---|---|
|
ADFランタイム・ライブラリ・ファイルです。 |
|
ADFランタイム・ライブラリ・ファイルです。 |
|
JDeveloperランタイム・ライブラリ・ファイルです。 |
|
Oracle MDSファイルです。 |
|
Oracle診断ファイルです。 |
|
OJMiscランタイム・ファイルです。 |
|
XMLサポート用です。 |
|
XSQLライブラリ・ファイルです。 |
|
これらのファイルは、interMedia Textサポート用です。interMedia Textは、Oracleデータベースでオーディオ、ドキュメント、イメージおよびビデオ・データを格納、取得、操作する機能です。 |
|
SQLJランタイム・ライブラリ・ファイルです。 |
|
JDBCランタイム・ライブラリ・ファイルです。 |
|
Java Cacheランタイム・ライブラリ・ファイルです。 |
|
ビジネス・コンポーネントWebアプリケーション・イメージおよびカスケード・スタイル・シートのサポート用です。 Tomcatを実行している場合は、 JBossを実行している場合は、 |
宛先ディレクトリ(これらのファイルのコピー先)は、アプリケーション・サーバーによって異なります。
ADFランタイム・ライブラリは、OTNからadfinstaller.zip
をダウンロードし、次の指示に従ってインストールすることもできます。
ADFランタイム・ライブラリをインストールする方法:
ダウンロードを開始するために、OTN上のJDeveloperダウンロード・ページ(次)に移動します。
http://www.oracle.com/technology/software/products/jdev/index.html
adfinstaller.zip
をターゲット・ディレクトリに解凍します。
adfinstaller.properties
ファイル内のDesHome
変数を設定し、ターゲットのアプリケーション・サーバーのホーム・ディレクトリを指定します。
たとえば、次のように入力します。
Oracle AS: DesHome=c:\\oas1013
OC4J: DesHome=c:\\oc4j
JBoss: DesHome=c:\\jboss-4.0.3
Tomcat: DesHome=c:\\jakarta-tomcat-5.5.9
WebLogic: DesHome=c:\\bea\weblogic90
(サーバーのホーム・ディレクトリはweblogicサブディレクトリ内)
adfinstaller.properties
ファイル内のtype
変数を設定し、ADFライブラリのインストール先であるアプリケーション・サーバーのプラットフォームを指定します。OC4J
/AS
/TOMCAT
/JBOSS
/WEBLOGIC
を選択できます。
たとえば、次のように入力します。
type=AS
adfinstaller.properties
ファイルのUserHome
変数を設定して、ADFを構成するWebLogicドメインを指定します。この設定は、WebLogicの場合にのみ使用され、他のプラットフォームの場合は無視されます。たとえば、次のように入力します。
UserHome= c:\\bea\weblogic90\\user_projects\\domains\\adfdomain
ターゲット・プラットフォームで稼働しているアプリケーション・サーバーのすべてのインスタンスを停止します。
ADFインストーラのバージョンを確認するだけの場合は、次のコマンドを実行します。
java -jar runinstaller.jar –version
コマンドライン・プロンプトで次のコマンドを実行します。
java -jar runinstaller.jar adfinstaller.properties
アプリケーションのデプロイ後、ターゲット・アプリケーション・サーバーで正常に動作するかどうかをテストする必要があります。ここでは、一般的なトラブルシューティングのヒントを紹介します。
34.13.3項「ターゲット・アプリケーション・サーバーでアプリケーションがdata-sources.xmlファイルを使用していない場合」
34.13.5項「エラー「JBO-30003: 次の例外が発生したため、アプリケーション・プールはアプリケーション・モジュールをチェックアウトできませんでした。」」
デプロイが完了すると、アプリケーションをアプリケーション・サーバーから実行することができます。アプリケーションをテストするには、ブラウザ・ウィンドウを開き、次のタイプのURLを入力します。
Oracle ASの場合: http://<host>:port/<context root>/<page>
Facesページの場合: http://<host>:port/<context root>/faces/<page>
問題点
実行時に「クラスが見つかりません」または「メソッドが見つかりません」エラーが発生します。
解決方法
ADFランタイム・ライブラリがターゲット・アプリケーション・サーバーにインストールされ、正しいバージョンであることを確認してください。
JDeveloperのADF Runtime Installerウィザードを使用して、ADFランタイム・ライブラリのバージョンをチェックできます。該当するウィザードを起動するには、「ツール」→「ADF Runtime Installer」→「Application_Server_Type」を選択します。「Application_Server_Type」は、ターゲットのアプリケーション・サーバーのタイプ(WebLogic、JBoss、スタンドアロンOC4Jなど)です。
問題点
アプリケーションのデプロイおよび実行後、ターゲット・アプリケーション・サーバーでdata-sources.xml
ファイルではなく、アプリケーションのEARファイルでパッケージ化されたdata-sources.xml
ファイルが使用されていることがわかりました。ターゲット・アプリケーション・サーバーでアプリケーションがdata-sources.xml
ファイルを使用するようにする必要があります。
解決方法
JDeveloperでEARファイルを作成するときに、data-sources.xml
ファイルを含めないようにします。次の手順を実行します。
「ツール」→「設定」を選択して、「設定」ダイアログを表示します。
左側で「デプロイ」を選択します。
「配布中にデフォルトのdata-sources.xmlをバンドル」の選択を解除します。
「OK」をクリックします。
EARファイルを再作成します。
アプリケーションを再デプロイする前に、古いアプリケーションのデプロイを解除し、ターゲット・アプリケーション・サーバーのdata-sources.xml
ファイルに、アプリケーションが必要とする適切なエントリが含まれていることを確認します。
アプリケーションがjazn-data.xml
を使用している場合、埋込みOC4Jサーバーがこのファイルをどのように使用しているかを理解する必要があります。アプリケーションのMETA-INF
ディレクトリでjazn-data.xml
ファイルが検出された場合、埋込みOC4Jサーバーはこのファイルを使用します。さらに、埋込みOC4Jサーバーは、<workspace>
-oc4j-app.xml
ファイルを、このjazn-data.xml
ファイルをポイントするように設定します。これで、「埋込みOC4Jサーバーの設定」ダイアログを使用してjazn-data.xml
ファイルを編集できるようになります。
META-INF
にjazn-data.xml
ファイルがない場合、埋込みOC4Jサーバーは、ワークスペース・ルートに<workspace>
-jazn-data.xml
ファイルを作成します。その後、そのファイルに移動し、編集する必要があります(または「埋込みOC4Jサーバーの設定」ダイアログを使用して編集します)。
問題点
エラー・ログで次のエラーを受け取りました。
05/11/07 18:12:59.67 10.1.3.0.0 Started 05/11/07 18:13:05.687 id: 10.1.3.0.0 Started 05/11/07 18:13:38.224 id: Servlet error JBO-30003: The application pool (<class_name>) failed to checkout an application module due to the following exception: oracle.jbo.JboException: JBO-29000: Unexpected exception caught: oracle.jbo.JboException, msg=JBO-29000: Unexpected exception caught: oracle.classloader.util.AnnotatedClassFormatError, msg=<classname> (Unsupported major.minor version 49.0) Invalid class: <classname> Loader: webapp5.web.id:0.0.0 Code-Source: /C:/oc4j/j2ee/home/applications/webapp5/webapp5/WEB-INF/classes/ Configuration: WEB-INF/classes/ in C:\oc4j\j2ee\home\applications\webapp5\webapp5\WEB-INF\classes Dependent class: oracle.jbo.common.java2.JDK2ClassLoader Loader: adf.oracle.domain:10.1.3 Code-Source: /C:/oc4j/BC4J/lib/adfm.jar Configuration: <code-source> in /C:/oc4j/j2ee/home/config/server.xml at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:1892)
解決方法
アプリケーションがそのデータ・バインディングのデータベースに接続できなかった可能性があります。ターゲット・アプリケーション・サーバー環境で必要なデータベース接続が設定され、その接続が機能していることを確認してください。