Oracle9i JDeveloper

リリース・ノート

リリース9.0.3.3

2003年11月

目次

概要

Oracle9i JDeveloperは、E-BusinessアプリケーションやWebサービスに対する開発、デバッグ、デプロイを総合的にサポートするJ2EE™(Java™ 2 Platform Enterprise Edition)開発環境です。

最大限の開発生産性を確保するため、JDeveloperは、ソース・コントロール、モデリング、コーディング、デバッグ、テスト、プロファイリング、デプロイに至る開発ライフサイクルを、完全にサポートするための包括的な統合ツール群を提供します。アプレット、JavaBeans、JavaServer Pages(JSP)、サーブレット、Enterprise JavaBeans(EJB)など、高性能の標準J2EEコンポーネントを開発するためのウィザード、エディタ、ビジュアル設計ツール、デプロイ・ツールなどが提供されるため、J2EE開発が大幅に簡易化されます。また、JDeveloperは、自身の開発環境を拡張およびカスタマイズし、他社製品とシームレスに統合するための公開されたExtension SDKを提供しています。

スケーラブルで高性能のJ2EEアプリケーションの開発を簡略化できるように、JDeveloperでは、Business Components for Java(BC4J)と呼ばれるオープンで拡張性のあるデータアクセス・フレームワークを提供しています。BC4Jは、SunのJ2EEデザイン・パターンを実装しており、洗練されたJ2EEアプリケーションを開発者が短期間で構築することができます。

このリリースの詳細は、Oracle Technology NetworkのJDeveloperのページ(http://otn.oracle.co.jp/products/jdev)を参照してください。

Oracle9i Database Release2(9.2)のサポート

JDeveloper 9.0.3には、Oracle9i Database Release1(9.0.1)対応のドライバが含まれています。これらのドライバは次のデータベースと互換性があります。

Oracle9i Database Release2(9.2)対応のドライバは、9.0.3への登録はできますが、動作保証はされていません。

本リリースにおける制限事項

本リリースでは、以下の制限事項があります。

Business Components for Java(BC4J)に関する問題

BC4Jプロジェクトの自動更新

JDeveloper 9.0.3で最初にBC4Jプロジェクトを開くとき、プロジェクトをアップグレードするという警告が表示されます。プロジェクトに多数のBC4Jパッケージやオブジェクトが含まれる場合は、このアップグレード処理に数分かかることがあります。

BC4J <jbo:InputSelectLOV>データ・タグの移行(2612879)

<jbo:InputSelectLOV>データ・タグを使用するBC4J JSPページをJDeveloper 9.0.2から移行した後、LOVページを表示しようとするとJSPによってランタイム例外が発生します。例外がスローされるのは、<jbo:InputSelectLOV>データ・タグで使用されるデフォルトLOVページのlovcomp.jspに対して、JDeveloper 9.0.3で新たに変更が行われているためです。

対処方法として、プロジェクトをリフレッシュして更新されたファイルを取得するようにしてください。プロジェクトをリフレッシュするのに必要な作業は、コンポーネント・パレットからプロジェクトの任意のJSPページに<jbo:InputSelectLOV>データ・タグをドラッグ・アンド・ドロップすることのみです。タグをドロップした後で、挿入されたデータ・タグを削除して古いタグをそのまま保持するような場合でも、lovcomp.jspファイルは、プロジェクトのpublic_htmlフォルダでリフレッシュされることになります。もし、デフォルトのLOVページに対してユーザー側で修正をしていて、ファイルを上書きしたくない場合は、カスタマイズしたlovcomp.jspファイル内のすべてのappModIdの名前をappConfigに変更する必要があります。

アプリケーション・モジュールで使用されるビュー・オブジェクト・インスタンスの新規デフォルト命名アルゴリズム

com.mycompany.hrapp.DepartmentListのように再利用できるビュー・オブジェクト・コンポーネントが提供される場合、BC4J 9.0.2では、このビュー・オブジェクト・コンポーネントのインスタンスがアプリケーション・モジュールで最初に使用されたとき、BC4Jの設計時ウィザードのデフォルトとしてインスタンス名がコンポーネント名と同じDepartmentListになりました。

コンポーネント名とそれに関連するデフォルト・インスタンス名が同じために、多くの開発者が、コンポーネントの定義とコンポーネントのインスタンスの大きな違いを見逃すことになり、アプリケーションでBC4Jを使用するときに混乱を招いていました。

このような混乱を解消するため、BC4J 9.0.3では、デフォルトの初期名はDepartmentList1となります。アプリケーション・モジュール・エディタの「データ・モデル」パネルで、データ・モデルの任意のビュー・オブジェクト・インスタンス名をクリックしてから、新しい名前を設定します。

各BC4Jアプリケーション・モジュールは、ビュー・オブジェクト・コンポーネントのインスタンスのコンテナとして機能します。その概念は、JFrameなどのUIパネルが、JButtonやJTextFieldなどのユーザー・インタフェース・コンポーネントのインスタンスに対するビジュアル・コンテナとして機能するのと同じです。javax.swing.JButtonクラスのインスタンスを最初にUIエディタを使って追加するとき、コード上に追加されるデフォルト・インスタンス名はjButton1です。2つ目のデフォルト・インスタンス名はjButton2というように続きます。ビュー・オブジェクト・インスタンスの新規デフォルト・インスタンスの命名には、これと同じインスタンス命名パターンが使用されます。

BC4Jプロジェクト・ファイルの変更による、BC4J Strutsクライアントへの影響

Strutsのアプリケーション・ウィザードを使用して、BC4J中間層プロジェクトに対応するStrutsベースのJSPアプリケーションを生成した後での、ベースのBC4J中間層プロジェクトに対する変更は、生成されたWebアプリケーションにも影響を与えます。

たとえば、Strutsのウィザードを使用して、BC4Jオブジェクトの現在の状態に基づいたWebアプリケーションを生成した後で、ビュー・オブジェクトの属性名を変更した場合、そのままの状態でWebアプリケーションを実行すると、JBOランタイム例外がスローされます。

この場合には、以下のいずれかの方法で対処します。

アプリケーション・モジュール・プール名の変更

アプリケーション定義ファイル(.cpx)を使用して作成されたアプリケーション・モジュール・プールに対する、アプリケーション・モジュール・プール名が変更されました。この変更によって、クライアント・データ・モデル定義を使用し、プログラムによるプールへのアクセス(たとえば、PoolMgr.getInstance().getResourcePool(<poolName>))を実装している、9.0.2のJClientアプリケーションの開発者は影響を受ける場合があります。9.0.2のJClientフレームワークでは、プール名としてアプリケーション・モジュール定義名が使用されていました。これが変更されたのは、異なる構成が同じアプリケーション・モジュール・タイプを参照している場合に、これらの構成から導出されたプールの名前が競合する可能性があるためです。現在、アプリケーション・モジュール構成名がApplicationPool名として使用されています。これは、9.0.2のBC4J Webアプリケーション・フレームワークで使用されていた命名方法と同じです。

アプリケーション・モジュール・プール名をハード・コーディングしているアプリケーションでは、この変更を認識し、クライアント・データ・モデル構成名を使用するアプリケーションを移行して、PoolMgrからプール・インスタンスを取得する必要があります。

RELEASE_MODEのデフォルト値の「リザーブ」から「ステートフル」への変更

RELEASE_MODE構成プロパティのデフォルト値が、「リザーブ(Reserved)」から「ステートフル(Stateful)」に変更されました。このように変更されたのは、リザーブ解放モードを使用した場合にスケーラビリティの問題が発生する可能性があるためです。この変更によって影響を受けるのは、BC4JデータWeb Beanを使用し、

oracle.jdeveloper.html.DataWebBeanImpl.releaseApplicationResources()

によってWeb Beanリソースを解放しているアプリケーションのみです。もし、リザーブ解放モードが必要なケースがある場合は、明示的に

oracle.jdeveloper.html.DataWebBeanImpl.releaseApplicationResources(
oracle.jbo.common.PropertyConstants.AM_RELEASE_RESERVED)

を使用するか、アプリケーション・モジュール構成のRELEASE_MODEプロパティを変更してください。

Business Component Browserの起動時にプロジェクトが保存されない(2526963)

Business Component Browserは、「Oracle Business Component Browser」ダイアログを開く前にプロジェクトをコンパイルしようとします。ただし、「コンパイルの前に保存」IDE作業環境(「ツール」->「設定」->「環境」)が指定されていても、プロジェクトは保存されません。

指定の構成に一致しないCookie構成

例外 30018 - The cookie configuration does not match the specified configuration」を受け取った場合、これは、Webアプリケーションの2つのJSPページまたはサーブレットが、同じアプリケーションIDを宣言しているが、異なる構成名をその前に宣言していることを示します(アプリケーションIDの定義については、 oracle.jbo.http.HttpContainer.findSessionCookie および oracle.jbo.common.ampool.SessionCookie のjavadocを参照してください)。

この問題を修正するには、同一アプリケーションIDのすべての使用箇所について構成名を統一する必要があります。構成名が同じでも、大文字と小文字の違いだけでこの例外がスローされる場合があるので注意してください。

VBバインド・モードにおいてOC4JでBC4J JSPを実行できない(2594776)

BC4J CORBAサーバーにアクセスするときは、この後に示すプロパティを設定してからORBを初期化する必要があります。これらのプロパティは内部的に設定されますが、OC4Jの起動時にORBが初期化するため、そのタイミングでプロパティを設定しておく必要があります。

対処方法は、次のシステム・プロパティをOC4Jコマンドラインに手動で追加することです。埋込みサーバーを使用している場合は、埋込みOC4Jインスタンスが起動されるプロジェクトのVM設定にこれらを追加します。

-Dorg.omg.CORBA.ORBClass=com.inprise.vbroker.orb.ORB
-Dorg.omg.CORBA.ORBSingletonClass=com.inprise.vbroker.orb.ORBSingleton
-Djavax.rmi.CORBA.UtilClass=com.inprise.vbroker.rmi.CORBA.UtilImpl
-Djavax.rmi.CORBA.PortableRemoteObjectClass=com.inprise.vbroker.rmi.CORBA.PortableRemoteObjectImpl

Beanタイプをリモートからローカルへ変更しても、web.xmlの<ejb-ref>が更新されない(2589997)

EJBセッションFacadeとして設定されたBC4Jコンポーネントに対するJSPアプリケーションを作成した場合、そのプロジェクトのweb.xml<ejb-ref>エントリに設定が行われます。その後、Facadeのインタフェース・タイプをローカルとリモートの間で切り替えると、web.xml<ejb-ref>エントリを更新する必要があります。たとえば、Bean型をリモートからローカルに変更した場合は、web.xml<ejb-ref>セクションを適切な<ejb-local-ref>タグで置換する必要があります。

マスターがポストされるまで新規作成したディテールが見えない

2つのエンティティの間のコンポジットAssociationで、マスター側の主キー属性が関連していない場合、新規ディテールの作成後にマスターの外部キー属性が変更されると、新規ディテールが一時的に失われた状態になります。マスター・エンティティの変更がポストされると、確定された外部キー属性を含む行が再び出現します。

この状況を回避したい場合、マスター・エンティティのset<FKAttribute>メソッドをオーバーライドして、マスター・エンティティの外部キー属性を更新する前に、ディテール・エンティティの対応する外部キー属性にも変更を行うようにします。

BC4JキャッシュとVARRAYのサンプルの実行

BC4JのキャッシュとVARRAYのサンプルは、リリース9.0.1のデータベースで機能するように作成されています。リリース8.1.7または9.2では機能しない可能性があります。

DBSequence型の必須属性を含む9.0.2 BC4Jアプリケーションの移行による検証エラーの発生(2611269)

DBSequence型の属性を必須として指定することはできません。シーケンスの値は確定させるときにのみデータベースによって生成されるためです。この検証(DBSequence型属性の必須性の検証)はリリース9.0.2では施行されていませんが、リリース9.0.3では施行されています。違反するアプリケーションを移行すると検証エラーが発生します。

移行された9.0.2 BC4Jアプリケーションのこの問題を修正するには、次の手順を実行します。

  1. システム・ナビゲータでエンティティ・オブジェクトをダブルクリックし、エンティティ・オブジェクト・ウィザードを開きます。
  2. 「属性の設定」ノードを選択します。
  3. 「属性の選択」リストでDBSequence型に設定されている属性を選択します。
  4. 「属性タイプ」リストで「DBSequence」を選択し直します。
  5. 「OK」をクリックしてウィザードを閉じます。

BC4J Struts JSPアプリケーション・ウィザード実行時の注意(2888538)

BC4J Struts JSPアプリケーション・ウィザードは、struts-config.xmlの既存の<message-resources>タグを削除し、代わりにデフォルト・パッケージのApplicationResources.propertiesを参照するよう記述します。このため、デフォルト・パッケージ以外のApplicationResources.propertiesを参照する<message-resources>タグは、ウィザード完了後に再登録する必要があります。

または、BC4J Struts JSPアプリケーション・ウィザードは空のプロジェクトで実行し、その後、必要に応じて<message-resources>タグを追加するようにしてください。

EJB Entity BeanにバインドされたBC4Jプロジェクトの移行(3099781)

EJB Entity BeanにバインドされたBC4JプロジェクトをJDeveloper 9.0.3.1 から9.0.3.3に移行する場合、システム・ナビゲータでEJBアプリケーション・モジュール・パッケージ・ノードのツリーを展開してください。このタイミングで、ejb-jar.xmlの<ejb-local-ref>タグが正確に更新されます。

アクティブでないトランザクションがトランザクション境界を横断して維持できない(3099314)

フェイルオーバーやアプリケーション・モジュール・プーリングなどによってアプリケーション・モジュールのトランザクション状態が受動化(パッシベート)されている場合でも、そのトランザクションがコミットまたはロールバックされると、受動化された状態のログが削除されます。このため、コミットまたはロールバックの後でこれらを活性化(アクティベート)するとJBO-28039などのエラーが発生します。

OC4JおよびOracle9iASへのデプロイ

この項の情報は、JDeveloperヘルプの目次にある「JDeveloperを使用したパッケージおよびデプロイ」の情報よりも優先されます。Apache Tomcat、BEA WebLogicおよびJBossなどその他のJ2EEサーバーへのデプロイに関する固有の情報については、「JDeveloperを使用したパッケージおよびデプロイ」のヘルプ・トピック「J2EEアプリケーションのデプロイ方法」を参照してください(これは、「ヘルプ」->「目次」を選択すると表示されます)。このリリース・ノートで説明するデプロイのトピックは次のとおりです。

Oracle9i JDeveloper 9.0.3に含まれるOC4Jバージョン

Oracle9i JDeveloperリリース9.0.3を使用することで、埋込みOC4Jサーバーを使用してJDeveloperでJ2EEアプリケーションを十分にテストしてから、ターゲット・アプリケーション・サーバーにデプロイできます。埋込みのOC4J 9.0.3サーバーの構成ファイルは、JDeveloperの次の場所にあります。

JDeveloperにはOC4J 9.0.3も含まれています。これはスタンドアロン・モードで実行できます。スタンドアロンのOC4J 9.0.3サーバーの構成ファイルは次の場所にあります。

<JDev_Home>/j2ee/home/config

アプリケーションをスタンドアロンOC4Jにデプロイする場合は、リモートOC4Jに同梱されていたリモートadmin.jarファイルを使用してください。デプロイ先のOC4Jのバージョンと一致しないadmin.jarを使用すると、デプロイが失敗する可能性があります。JDeveloperのアプリケーション・サーバー接続ウィザードを使用して接続を設定するときに、OC4Jスタンドアロン・インスタンスに対して正しいadmin.jarを使用するようにデプロイを構成できます。

使用しているOC4Jのバージョンを確認するには、OC4Jインストール・ディレクトリで次のように入力します。

java -jar oc4j.jar -version

スタンドアロンOC4JへのJDeveloper 9.0.3アプリケーションのデプロイ

次の表は、Oracle9i JDeveloperリリース9.0.3から、スタンドアロン・モードでadmin.jarを使用するOracle9iAS Containers for J2EE(OC4J)へのアプリケーション・デプロイのサポート状況をまとめています。

アプリケーション OC4J 9.0.3 OC4J 9.0.2.x
J2EE サポート* サポート**
BC4J サポート 現在、未サポート

J2EE Webサービス: JavaクラスまたはEJB

サポート サポート

J2EE Webサービス: PL/SQL

サポート

未サポート

J2EE Webサービス: JMS

サポート 未サポート

* OC4JのこのリリースはJ2EE 1.3に準拠しています。JSP 1.2、サーブレット2.3およびEJB 2.0アプリケーションのデプロイがサポートされます。
** OC4JのこのリリースはJ2EE 1.2に準拠しています。JSP 1.1、サーブレット2.2およびEJB 1.1アプリケーションのデプロイがサポートされます。

スタンドアロンOC4Jに対する正しいtools.jarファイルの適用

OC4Jでは、<JDev_Home>/jdk/libtools.jarというファイルがあることが必要です。このファイルはOC4Jを実行するために使用されるJDKのバージョンと一致する必要があります。一致しない場合は、スタンドアロンOC4Jでのアプリケーションの実行に問題が発生することがあります。

OC4J 9.0.3はJDK 1.3.1_02およびJDK 1.4をサポートしています。OC4Jをスタンドアロン・モードで実行するときは、適切なJDKのtools.jarを使用することをお薦めします。

Oracle9iASへのJDeveloper 9.0.3アプリケーションのデプロイ

Oracle9iASにJDeveloper 9.0.3アプリケーションをデプロイするときは次の機能を使用します。

参照: Oracle9iASの管理や、DCMまたはOracle HTTP Serverを介したJ2EEアプリケーションのOracle9iASへのデプロイの詳細は、『Oracle9i Application Server管理者ガイド』を参照してください。これは、Oracle9iASドキュメント・ライブラリに提供されています。

次の表は、Oracle9i JDeveloperリリース9.0.3から、デプロイ・ツールを使用するOracle9iASリリース9.0.2および9.0.3アプリケーション・サーバーへのアプリケーション・デプロイのサポート状況をまとめています。

アプリケーション デプロイ・ツール Oracle9iAS 9.0.3 Oracle9iAS 9.0.2.x
J2EE Enterprise Manager サポート*** サポート**
J2EE Distributed Configuration Management(DCM)* サポート*** サポート**
BC4J Enterprise Manager サポート 現在、未サポート
BC4J Distributed Configuration Management(DCM)* サポート 現在、未サポート
J2EE Webサービス Enterprise Manager サポート サポート****
J2EE Webサービス Distributed Configuration Management(DCM)* サポート サポート****

* Oracle9iAS 9.0.2では、実行しているEnterprise Manager OC4JインスタンスにDCMサーブレットのインストールが必要です。
** OC4JのこのリリースはJ2EE 1.2に準拠しています。JSP 1.1、サーブレット2.2およびEJB 1.1アプリケーションのデプロイがサポートされます。
*** OC4JのこのリリースはJ2EE 1.3に準拠しています。JSP 1.2、サーブレット2.3およびEJB 2.0アプリケーションのデプロイがサポートされます。
**** JavaクラスまたはEJBに基づくJ2EE Webサービスのみが、9iAS 9.0.2.xでサポートされています(PL/SQL WebサービスおよびJMS Webサービスは9.0.2ではサポートされていません)。

Oracle9iAS 9.0.2.xにデプロイするためのDCMサーブレットのインストール

JDeveloperリリース9.0.3で作成したアプリケーションを、DCMサーブレットを介してOracleiAS 9.0.2.xに正常にデプロイするには、次の操作を実行する必要があります。

  1. 実行中のOracle Enterprise Managerインスタンスに、DCMサーブレットすなわちOc4jDcmServlet.earをインストールします。このサーブレットは、Enterprise Managerサーブレットと同一のOC4Jインスタンス(同一のJVM)で実行する必要があります。DCMサーブレットは次の場所にあります。

    <JDev_Home>/dcm/lib/Oc4jDcmServlet.ear

  2. 次の2つのコマンドを実行してOc4jDcmServlet.earをデプロイします。
    次に示すコマンドを正確に入力する際には、${xxx}パラメータを実際の構成の値で置き換えてください。たとえば、${ORACLE_HOME}iAS構成のOracle Homeディレクトリで置き換えます。その他のすべてのパラメータにも、例のように正確なリテラル値(Oc4jDcmServlet.earへのパスの調整など)を指定する必要があります。

    注意: 以下のコマンドで使用するポート番号は、RMIポート番号(デフォルト 1811)を使用してください。

    java -jar ${ORACLE_HOME}/j2ee/home/admin.jar ormi://${EM_OC4J_HOST}:${EM_OC4J_RMI_PORT} ${IAS_ADMIN_USER} ${IAS_ADMIN_PASS} -deploy -file Oc4jDcmServlet.ear -deploymentName Oc4jDcmServlet


    java -jar ${ORACLE_HOME}/j2ee/home/admin.jar ormi://localhost:1811 ias_admin manager -deploy -file Oc4jDcmServlet.ear -deploymentName Oc4jDcmServlet

    java -jar ${ORACLE_HOME}/j2ee/home/admin.jar ormi://${EM_OC4J_HOST}:${EM_OC4J_RMI_PORT} ${IAS_ADMIN_USER} ${IAS_ADMIN_PASS} -bindWebApp Oc4jDcmServlet Oc4jDcmServlet emd-web-site /Oc4jDcmServletAPI


    java -jar ${ORACLE_HOME}/j2ee/home/admin.jar ormi://localhost:1811 ias_admin manager -bindWebApp Oc4jDcmServlet Oc4jDcmServlet emd-web-site /Oc4jDcmServletAPI

    この例では、Enterprise Managerのユーザー名とパスワードをias_admin/managerとしています。

  3. ヘルプのトピック「リモートDCMによるOracle9iASへの接続の作成」に記載されている手順に従って、接続の作成およびOracle Enterprise Managerインスタンスの設定変更を行います。

    ※ このOracle Enterprise Managerインスタンスの設定変更によって、Oracle Enterprise Manager WebサイトのDiscovererの設定機能に問題が出ることが報告されています。この問題が影響がある場合は、JDeveloperからの直接のデプロイではなく、Oracle Enterprise Manager Webサイト経由でのデプロイを行う必要があります。

OC4JにEJBを再デプロイする際の問題(2899729)

スタンドアロンOC4JにEJBをデプロイ後にアクセスしてから、再びデプロイしようとすると、次のようなメッセージが表示される場合があります。

Fatal Error: Syntax error in source

これは、JDK 1.3.1_02の問題が原因です。この問題を解決するには、JDK 1.3.1_03以降を使用してください。

デプロイに関する問題

Oracle以外のアプリケーション・サーバーにデプロイされたUIX Webアプリケーション(BC4J JSP Adminページなど)の実行に関する問題(2577293)

Oracle以外のアプリケーション・サーバーにデプロイしたUIX Webアプリケーションを実行するか、Oracle以外のアプリケーション・サーバーにデプロイしたBC4J JSPアプリケーションの「BC4J Admin」リンクをクリックすると、次のエラーが発生することがあります。

[INFO] RequestProcessor - -Processing a 'GET' for Path...
Root cause of ServletException
java.lang.NullPointerException...

このエラーが発生しないようにするには、uix-config.xmlファイルを変更する必要があります。

Adminページを含むBC4J JSPアプリケーションのために、サーバーで次のような変更を行います。

  1. サーバーでbc4j.earファイルを探して解凍します。
  2. 抽出されたwebapp.warファイルをさらに解凍します。
  3. 抽出されたWEB-INF/uix-config.xmlファイルをテキスト・エディタで開きます。
  4. <default-configuration>要素のコメント指定を解除します。
  5. <full-uri>要素の値として、ポート番号を含めてアプリケーション・サーバーのURLを設定します。
  6. <full-path>要素の値として、アプリケーション・サーバー上のcaboディレクトリの親ディレクトリの完全ローカル・パスを設定します。
    注意: caboディレクトリそのものではなく親ディレクトリを指定してください。
  7. webapp.warファイルを再パッケージします。
  8. bc4j.earファイルを再パッケージします。
  9. 変更したbc4j.earファイルを再デプロイします。

BC4J UIXアプリケーションのために、JDeveloper内で次の変更を行います。

  1. システム・ナビゲータで、ファイルuix-config.xmlを探してコード・エディタで開きます。
  2. <default-configuration>要素のコメント指定を解除します。
  3. <full-uri>要素の値として、ポート番号を含めてアプリケーション・サーバーのURLを設定します。
  4. <full-path>要素の値として、アプリケーション・サーバー上のcaboディレクトリの親ディレクトリの完全ローカル・パスを設定します。
    注意: caboディレクトリそのものではなく親ディレクトリを指定してください。
  5. このファイルを保存し、アプリケーションを再デプロイします。

Apache Tomcat 4.1へのWebアプリケーションのデプロイ

Apache Tomcat 4.1にデプロイする場合は、BC4Jランタイム・ライブラリを、<Tomcat_install>/libではなく <Tomcat_install>/common/libにコピーする必要があります。その他の手順の詳細は、ヘルプ・トピック「WebアプリケーションのApache Tomcatへのデプロイ」を参照してください。

UIX JSPタグ使用時のTomcat 4.0/4.1での共有インストール・ファイルの検出(2525319)

UIX JSPページを実行すると、uixタグは、/cabo/images/への参照を含む出力を生成します。Tomcat 4.0および4.1にデプロイした場合、生成されるhtmlでのリンクが正しくないために一部のイメージが正常にレンダリングされないことがあります。

解決方法としては、Tomcatに対して追加の構成手順を行い、"crossContext"をそのWebコンテキストに対して有効にします。たとえば、あるUIX JSPアプリケーションのWebコンテキストが /uixapp だった場合、次の行をserver.xmlに追加します。

<Context path="/uixapp" docBase="uixapp" debug="0" crossContext="true"/>

こうすることで、"/uixapp"のWebアプリケーションが、"/cabo/"以下の共有インストール・ファイルを検出できるようになります。BC4J JSPアプリケーションの一部としてリンクが作成される"BC4J Admin"ページの場合は、次のようにします。

<Context path="/webapp" docBase="webapp" debug="0" crossContext="true"/>

共有インストール・ファイルへのアクセスが必要なすべてのWebアプリケーションについて、このような行を1行ずつ指定する必要があります。

TomcatにデプロイしたJSPアプリケーションの問題(2615358)

Tomcatのバグのために、TomcatにデプロイしたJSPアプリケーションを実行すると、次のエラー・メッセージを受け取る可能性があります。

2つのパラメータ ... または ... のいずれかのみ、定義してください。

これは、Tomcatのタグ・プール・メカニズムのエラーが原因です。Tomcatはプールの後でタグを解放しないため、互換性のない属性が定義されている同一のタグを後で使用するとこのエラーが発生します。

このエラーが発生しないようにするには、Tomcatのタグ・プーリングを無効にする必要があります。

  1. ファイル<Tomcat_install>/conf/web.xmlをテキスト・エディタで開きます。
  2. JSPコンパイラに対して、次の初期化パラメータを設定します。
     
    <init-param>
      <param-name>enablePooling</param-name>
      <param-value>false</param-value>
    </init-param>
    
  3. Tomcatサーバー上で展開されたJSPおよびJavaファイルをクリーンアップして、Tomcatを再起動します。

WebLogic 7.0へのBC4Jプロジェクトのデプロイ

オンライン・ヘルプには、BC4JプロジェクトをWebLogic 6.xにデプロイするための情報が含まれています。BC4JプロジェクトのWebLogic 7.0へのデプロイの詳しい手順は、OTN(http://otn.oracle.co.jp/products/jdev/903/)のHowToドキュメントを参照してください。

UIX JSP: WebLogicにおけるblaf.xss(2597479)

UIXおよびUIX JSPの実行中に、「Required XSS file ..../blaf.xss」のようなエラーを取得した場合、WebLogicの仮想パスに問題があることがあります。この問題を解決するには、WebLogicがロードするuix2-install.zipを変更する必要があります(このファイルの元の場所は<JDev_Home>/jdev/redistです)。

uix2-install.zipファイルのディレクトリ構造ではすべてのパスにcaboディレクトリが含まれています。たとえば、tliner.gifcabo/imagesにあります。WebLogicで、アプリケーションをWebLogicにデプロイした後に生成される仮想ディレクトリcaboと間違われないように、このcaboディレクトリを削除する必要があります。

uix2-install.zipを変更してcaboパスを削除します。

  1. uix2-install.zipファイルを一時ディレクトリ(たとえばc:\temp\)に解凍します。jarコマンドを使用する場合は、コマンドjar -xf uix2-install.zipを使用できます。
  2. caboディレクトリにあるすべてのファイルで新しいzipファイルを作成しますが、アーカイブ・パスにはcaboディレクトリを含めません(つまり、caboディレクトリの下をアーカイブします)。jarコマンドを使用する場合は、caboディレクトリに移動し、コマンドjar cvf uix2-install.zip *を使用できます。
  3. 新しいzipファイルを、WebLogicサーバー・パスにある元のuix2-install.zipファイルに上書きコピーします。

WebLogicへのデプロイ時の型の非互換

BEA提供のOracleクラスを使用する場合、WebLogicにデプロイされたアプリケーションの中には、型の互換性がないものがあります。このような問題が発生しないようにするには、サーバーのlibディレクトリに提供されているclasses12.zipおよびclasses12.jarファイルを、<JDev_Home>/jdbc/libディレクトリのclasses12.jarで置き換えます。

WebLogic 6.1におけるXMLファイルの'Windows-1252'エンコーディングの問題

WebLogic 6.1は、XMLファイルの'Windows-1252'エンコーディングを認識できません。これは、WebLogic 6.1のxmlparserのバグです。JDeveloperのアプリケーションをWebLogic 6.1にデプロイするには、WebLogic 6.1が認識するIANAエンコーディングにエンコーディングを変更します。UTF-8やShift_JISエンコーディングの使用をお薦めします。

  1. 「ツール」->「設定」を選択します。
  2. 「環境」パネルで「エンコーディング」フィールドを「UTF-8」に変更します。
  3. 「OK」をクリックします。

ここで、新規プロジェクトとアプリケーションを作成します。

WebLogic上へのEJBの複数デプロイ(2577330)

WebLogicにデプロイするとき、複数の異なるアプリケーションで同一のEJBを使用する場合は、2つ目のデプロイによってJNDI名の競合が発生する可能性があります。このため、2つ目のデプロイではEJBのJNDI名を次のように変更する必要があります。

  1. weblogic-ejb-jar.xmlを右クリックし、「設定」を選択します。
  2. Enterprise Java Beansの下で、関連するModuleBM Beanを選択します。「EJB」タブが右側に表示されます。
  3. 「EJB」タブで、weblogic-ejb-jar.xmlのその他のJNDI名や、WebLogicにすでにデプロイされているその他のEJBと重複しないように、「JNDI名」フィールドを変更します。
  4. そのEJBにアクセスするアプリケーションをWebLogicにデプロイします。デプロイの際に、IDEによって適切なEJB参照がweblogic.xmlに自動的に設定されます。

EJBのデプロイによるCompilationExceptionエラーのスロー(2485297)

EJBをデプロイした際に、JDeveloperコンソールにCompliationExceptionエラーを取得した場合、OC4J内で内部的に使用されるコンパイラを切り替える必要があります。この場合、次の手順を使用して、ojc Javaコンパイラを使用してください。

  1. <library>要素を j2ee/home/config/server.xmlに追加して、ojc.jarの場所を指定します。特に、JDeveloperに含まれるOC4Jの場合は、この要素をserver.xmlの最後に追加します。つまり、<application-server>の最後の子要素であることが必要です。絶対パスと相対パスの例を次に示します。

    <library path="D:\jdev903\jdev\lib\ojc.jar"/>

    <library path="..\..\..\jdev\lib\ojc.jar"/>

    ojc.jarがOC4Jインストールと物理的に同じマシンにインストールされてない場合は、JDeveloperに含まれているojc.jarをOC4Jを実行しているマシンにコピーし、適切に<library>要素を使用してserver.xmlを更新します。

  2. -Dbuild.compiler=ojcプロパティを使用してOC4Jを起動します。次に例を示します。
    java -Dbuild.compiler=ojc -jar oc4j.jar

VisiBrokerネーミング・モード・プロファイルの作成方法(2591970)

VisiBrokerネーミング・モードは、デフォルトでは作成されなくなりました。作成するには、まず、ビジネス・コンポーネントのデプロイメント・プロファイルをVisiBrokerモードで作成します。これで、VBBindおよびVBColocateモードの構成プロファイルが作成されます。バインド・モード・プロファイルをコピーし、そのコピーを編集してネーミング・モード・プロファイルを作成します。

EJBにアクセスするクライアントのEARファイルにEJB JARが含まれてしまう(2766602)

EJBへアクセスするプロジェクトでWARファイルを作成し、そのWARファイルをEARファイルへアーカイブする場合、EARファイル内のWARファイルにはEJB JARが含まれてしまいます。しかしながら、本来、このプロセスは、EJBの実装クラスが含まれなくても機能すべきです。

EARファイルに含まれるWARファイルはEJBクライアント・クラスへアクセスしません。本来あるべき形で(EJB実装クラスを含まない形で)クライアントのアーカイブを作成したい場合、次のようにします:

  1. EJBプロジェクトに2つのデプロイメント・プロファイルを作成します:
  2. プロジェクトを作成し、上記のEJBプロジェクトのシンプルJARプロファイルに対して依存性を持つWARプロファイルを作成します。

なお、BC4Jプロジェクトでは、デフォルトで上記のような形でデプロイされています。

OC4Jのメモリー要件

デフォルトでは、OC4Jは、パフォーマンスを向上させるために多数のクラスを事前ロードします。このため、OC4Jにデプロイしようとして、java.lang.OutOfMemoryErrorを取得することがあります。

java.lang.OutOfMemoryErrorが発生した場合、次の2つの方法があります。

EJBに関する問題

追加されたejbSelectメソッドに対する修飾子の問題(2611048)

ejbSelectメソッドはabstractとして宣言されなければなりませんが、EJBモジュール・エディタで作成したejbSelectメソッドは、abstractとして宣言されません。このため、EJBの検証でエラーが報告されます。 EJBモジュール・エディタでejbSelectメソッドを追加した場合、手動でabstract修飾子を追記してください。

複合主キー(2512678)

OC4Jでは、複合主キーを構成する列を含む外部キーをベースとするCMR(コンテナ管理のリレーション)を持つCMPエンティティBeanをサポートしていません。

EJBに関するその他の問題

データベース表からのリバース・エンジニアリングが行われた場合は、エンティティBeanの1:1の双方向CMRを作成できません(2447364)。

JClientに関する問題

JTreeにバインドされたデータ値の編集(2061405)

JTree コントロールを使うことで、BC4Jデータをツリー上に表示できます。ここで、プロパティから「Editable」「True」に設定することができますが、JTreeからのデータ値の編集はサポートされていません。

ツリー・エディタでの再帰的規則の未サポート(2577052)

Swing ツリー・コントロール の Model としてJClientモデルを設定する際にツリー・エディタを利用できます。ただし、このツリー・エディタで、同一ビュー・オブジェクトに対する再帰的ツリー規則を定義した場合、それが有効な定義であってもエラーを返します。したがって、再帰的規則はコード・エディタで作成する必要があります。

以下では、次のような状況の場合での再帰的ツリーの作成例を紹介します。

状況:
- DeptおよびEmpを使用するデフォルトのアプリケーション・モジュール。
- Emp.Mgrを関連先、Emp.Empnoを関連元としてAssociation を作成。
- このAssociationを使用してビュー・リンクを作成。

ビュー・オブジェクトの構成:
DeptView1
-(EmpViewアクセッサ)-> EmpView1
-(MgrEmpViewアクセッサ)-> EmpView2

この状況下で、2種類の再帰的ツリーを作成できます。

・ルートとしてDeptを使用する場合: 

 
   // Create a JClient Tree model using the 'DeptView1' viewobject
   // instance as the root of the tree.
   jTree1.setModel(
     JUTreeBinding.createTreeNodeTypeBinding(
       panelBinding, jTree1, "DeptView1", null, "DeptView1Iter",
       // define 2 rules.
       new JUCtrlHierTypeBinding[] {
           // If the parent node is of type 'mypackage.DeptView' find
           // and use its 'EmpView' accessor.
           New JUTreeAccessorTypeBinding("NodeType1", "mypackage1.DeptView",
                                         "Dname", "EmpView", null, null, null),
           // If the parent node is of type 'mypackage.EmpView' find
           // and use its 'MgrEmpView' accessor.
           New JUTreeAccessorTypeBinding("NodeType2", "mypackage1.EmpView",
                                         "Ename", "MgrEmpView", null, null, null)                    }
       }
     )
   ); 

・ルートとしてEmpのみを含むEmpの場合: 

 
   // Create a JClient Tree model using the 'EmpView1' viewobject
   // instance as the root of the tree.
   jTree1.setModel(
     JUTreeBinding.createTreeNodeTypeBinding(
       panelBinding, jTree1, "EmpView1", null, "EmpView1Iter",
       // define 1 rule
       new JUCtrlHierTypeBinding[] {
           // If the parent node is of type 'mypackage.EmpView' find and
           // use its 'MgrEmpView' accessor.
           New JUTreeAccessorTypeBinding("NodeType1", "mypackage1.EmpView",
                                         "Ename", "MgrEmpView", null, null, null)
       }
     )
   ); 

MIMEタイプの問題のためにIE 5.5でWeb Startが起動しない(2573655)

JClient Web Startウィザードで生成されたlocal.jspリンクを使用して、Internet Explorer 5.5でJClient Web Startアプリケーションを実行しようとすると、Java Web Startが起動しません。かわりに、ファイルを開くようにIE 5.5から求められます。

対処方法として、レジストリ・エディタ(regedit.exe)を使用して新しいMIMEタイプを作成し、それを .jnlp拡張子に関連付けます。たとえば、レジストリ・エディタで、「HKEY_CLASSES_ROOT」->「MIME」->「Database」->「Content Type」->「application/x-java-jnlp-file」を探し、プロパティExtensionを値 .jnlpに設定します。

JClient LOVにバインドしたJComboBoxに対する setEditable(false) での問題(2591283)

JClient LOVバインディングを含むJComboBoxコントロールが、バインドされた属性に対する初期の選択を表示しないときがあります。これが発生するのは、JComboBoxを作成し、コード・エディタを使用して明示的に setEditable(false) をコールしている場合です。この場合でも、コンボ・ボックスを展開(ドロップ・ダウン)することで値が表示されます。

ローカル・モードでのJClient Java Web Startによるセキュリティ例外のスロー(2566584)

JClientアプリケーションを作成し、Java Web Startを使用してローカル・モード(デフォルトのデプロイ・モード)で実行しようとすると、Javaセキュリティ例外:AccessControlExceptionがスローされます。特に、oracle.xdkjava.compatibility.versionシステム・プロパティを読み取ろうとすると、AccessControlExceptionがスローされます。その他のデプロイ・モードでは、JARファイルに署名する必要があるため、この問題はありません。対処方法は、使用しているJava Web Startのリリースによって異なります。

Java Web Start JNLPファイルの文字コードについて(2425507)

JNLP ファイルは現在 UTF-8 文字エンコーディングに符号化する必要があります。

この影響により、「JClient Java Web Startウィザード - ステップ2」「JNLPを動的に生成-JSP」を選択する場合は、タイトル・説明・ベンダーに日本語を使用することができません。

JClient Objects(Form/Panel)作成時の注意(2425366)

JClient Objects(Form/Panel)作成時に、依存するビジネス・コンポーネントのビュー・オブジェクトに日本語名を使用している場合、作成されるJClientのJavaクラス名にも、日本語名が指定されます。このとき、アプリケーション実行時に、次のエラーが表示されます。

"Could not find the main class. Program will exit!"

この問題が発生した場合は、JClientのJavaクラス名を「ツール」->「リファクタ」-「クラス名の変更..」を使用して、シングルバイト名に変更してください。

JClientプロジェクトをJDeveloper 9.0.2から9.0.3に移行するとクラスパスが正しく設定されない(3173033)

JDeveloper 9.0.2では、JClientプロジェクトを作成すると、JClientProject_Mypackage1Moduleなどのような名前のライブラリが作成されます。このライブラリは、JClientプロジェクトがアクセスするBC4Jプロジェクトをクラスパスに追加します。JClientのプロジェクトを9.0.2から9.0.3に移行すると、このライブラリの情報は移行されません。これにより、クラスパスが正しく設定されないために、実行時にJBO-33001などのエラーが発生します。

JClientプロジェクトのクラスパスを正しく設定するためには、次の手順が必要です。

BC4Jプロジェクトのライブラリのクラスパスを定義します:

  1. JDeveloper 9.0.3でJClientプロジェクトのプロジェクトファイル(例: JClientProject.jpr)をダブルクリックし、「プロジェクトの設定」ダイアログを起動します。
  2. 起動されたダイアログで「ライブラリ」ノードをクリックし、「選択済みのライブラリ」リストを確認します。クラスパスの情報が正しく設定されていないためにBC4Jプロジェクトのライブラリ名が赤くハイライトされています。
  3. 正しいクラスパスを設定するために、BC4Jプロジェクトのライブラリを選択し「編集」をクリックします。クラスパスにBC4Jプロジェクトの出力ディレクトリ(例: D:\<JDev903_HOME>\jdev\mywork\JClient\BC4J\classes)を追加します。

あるいは、プロジェクトの依存性の設定を変更します:

  1. JDeveloper 9.0.3でJClientプロジェクトのプロジェクトファイル(例: JClientProject.jpr)をダブルクリックし、「プロジェクトの設定」ダイアログを起動します。
  2. 起動されたダイアログで「依存性」ノードをクリックします。
  3. 「プロジェクトの依存性」の中からBC4Jプロジェクト(例: BC4JProject.jpr)をチェックします。

ソース・コントロール・サポートに関する問題

Oracle9i SCM: Oracle9i SCM RONとは共有されないフォルダ・マッピング

Oracle9i SCM Repository Object Navigator(RON)を使用してファイル・システムへのダウンロードまたはファイル・システムとの同期化が行われたとしても、そのままではJDeveloperでは、ダウンロードされたファイルが認識されません。RONにより格納されたマッピング情報は、JDeveloperでは直接利用できないためです。

Oracle9i SCMで管理されたファイルをファイル・システムへダウンロードし、JDeveloperで使用するには、次のようにします。

Oracle9i SCM: JDeveloperを使用してチェックインできないOracle9i SCMフォルダ(2108198)

Oracle9i SCMフォルダをJDeveloperを使用してチェックインすることはできません。マージを行うと、結果のウィンドウにチェックアウトされたフォルダが表示されますが、このフォルダはチェックインできません。また、チェックアウトされているフォルダで、チェックアウトのリスト表示ユーティリティが使用されている場合もあります。フォルダのチェックインには、Oracle9i SCM Repository Object Navigatorを使用してください。

Oracle9i SCM: JDeveloper上で起動されるVHVからの操作

JDeveloper上から起動されるVersion History Viewerからは、ファイルのマージ、チェックインまたはチェックアウトといったソース・コントロール操作を行わないでください。

Oracle9i SCM: Oracle Repository 6i への接続

Oracle9i JDeveloper 9.0.3は、Oracle9iDSリリース2(9.0.2)に含まれるOracle9i Software Configuration Managerで機能することが保証されています。Oracle9i JDeveloper 9.0.3では、Oracle Repository 6i (6.5.69)以上との接続は不可能ではありませんが、組合せとしては保証されていません。

Oracle9i SCM: SCMツール上の日付データの書式の設定(1685812)

Version History Viewer、Version Event ViewerなどのSCMツール上にはチェックインに日付情報が表示されます。この日付データの書式を変更するには、次のようにします。

モデリングに関する問題: 一般

モデル要素およびダイアグラムのファイルにおけるソース・コントロール操作の実行(2211605)

モデル要素またはダイアグラムのファイルをソース・コントロール・システムで管理している場合、それらの情報をディスクに書き込んだ後でソース・コントロール操作を実行することをお薦めします。モデル要素またはダイアグラムのファイルがメモリーにしかない状態(ディスクに保存されていない状態)でソース・コントロール操作を実行すると、メモリーに保持されている情報がディスクにある情報で上書きされる可能性があります。モデル要素またはダイアグラムのファイルが不整合をおこさないために、ディスクに保存した後で、ソース・コントロール操作を実行することをお奨めします。

クラス名を変更してもコンストラクタ名が変更されない

モデル化されたクラスの名前をクラス・ダイアグラム上で変更しても、そのクラスのコンストラクタ名は、クラスの名前変更に合せて変更されず、元の名前のメソッドとして扱われます。

ダイアグラム上でモデル化されたクラスの名前を変更した後で、ダイアグラム上に元のままの名前で表示されているコンストラクタ・メソッド名も同様に変更してください。

モデリングに関する問題: Javaクラス、BC4J、EJBコンポーネント

EJBを含むクラス・ダイアグラムを開くと変更ありとマークされる(2441294)

モデル化されたEnterprise JavaBeansを含むクラス・ダイアグラムを開くと、ダイアグラムがまったく変更されていない場合でも自動的に "変更あり" として識別されます。

Webサービスに関する問題

SOAP Webサービスが新規セッションを開始しない(2218102)

スコープがセッションのSOAP Webサービスに対して、異なるクライアントがアクセスしても期待通りに新規セッションが開始しないことがあります。

OC4JでのJMS Webサービスの使用

OC4J/JMSは、Oracle9iAS 9.0.3またはOC4J 9.0.3ではサポートされていません。代りに Oracle JMS(OJMS)実装の使用をお薦めします。これは、Oracle9i Database のAdvanced Queueing(AQ)に対するJMSインタフェースであり、J2EE 1.3準拠のJMSプロバイダです。

OC4J 9.0.3またはOracle9iAS 9.0.3にデプロイされたJMS Webサービスを実行するには、JMS実装をOJMSに渡すようにOC4Jを構成する必要があります。詳細は、Oracle Technology Networkの「Oracle9iAS Containers for J2EE (OC4J) - Java Message Service (JMS) - Frequently Asked Questions」(http://otn.oracle.com/tech/java/oc4j/htdocs/OC4J-JMS-FAQ.html)を参照してください。

送信操作と受信操作を使用するJMS Webサービスの作成

送信操作と受信操作の両方を使用するJMS Webサービスを作成するときは、Webサービス・クライアントが同じ宛先に対して送受信しないかぎり、送信方向と返信方向について別の接続ファクトリと宛先を明示的に指定する必要があります。

JMS Web サービス・ウィザードのステップ3で、「受信操作で別のJMS宛先を使用」を選択し、受信操作の接続ファクトリと宛先を入力します。ここで送信操作とは別の接続ファクトリと宛先を設定します。

Oracle9i Database Personal Editionに対してPL/SQL Webサービスを作成できない(2591731)

Webサービスとして公開するPL/SQLパッケージのソースとしてOracle9i Database Personal Editionを使用することはできません。これは、SQLJが、Oracle9i Database Personal Editionを正しく認識せず、PL/SQL Webサービス・ジェネレータの要求どおりに動作しないためです。

Personal EditionのデータベースからPL/SQLパッケージを公開しようとすると、例外メッセージが発生して生成が失敗します。

Webサービスの削除(2592996)

ナビゲータ内のアクティブなプロジェクトがカテゴリ表示されたときに(プロジェクトを選択し「プロジェクト」->「カテゴリの表示」を選択する)、「すべてのファイルを表示」がソース・ファイルに対して選択されている(プロジェクトの「ソース」を選択し「プロジェクト」->「すべてのファイルを表示」を選択する)と、Webサービス・ノードがこのカテゴリに誤って表示されます。

これが問題になるのは、「ソース」でWebサービスを右クリックし「Webサービスの削除」を選択してWebサービスを削除するときのみです。この場合、JDeveloperがハングすることがあります。Webサービスを削除するには、プロジェクトの表示形式をカテゴリ表示ではない状態に切り替えて(「プロジェクト」->「カテゴリの表示」を再度選択)、Webサービスを削除し、その後でカテゴリ表示に戻ります。

JDK 1.4でコンパイルされたWebサービス・クラスのデプロイができない(2385468)

JDK 1.4コンパイラを使用してコンパイルされたJavaクラスに対して、OC4Jサーバー側でWebサービスとして生成しているときに例外が発生します。現時点では、すべてのWebサービス・クラスを1.4よりも前のJDKでコンパイルすることをお勧めします。

Webサービス公開ウィザードでの「取消」操作(2174089)

Webサービス公開ウィザードでは、「配布先」を変更した後で「取消」をクリックしても、「配布先」に対する変更が保存されます。この場合、ウィザードを再び起動して、「配布先」を元に戻してもう一度「取消」をクリックするようにしてください。

スタブからWebサービスへのコールでのランタイム・エラー(2389203)

スタブ・クライアントからWebサービスをコールしたときに次のようなランタイム・エラーを取得することがあります。

 
[SOAPException: faultCode=SOAP-ENV:Client; msg=No Deserializer found to
deserialize a &apos;:return&apos; using encoding style
&apos;http://schemas.xmlsoap.org/soap/encoding/&apos;.;
targetException=java.lang.IllegalArgumentException:
No Deserializer found to deserialize a ':return' using encoding style
'http://schemas.xmlsoap.org/soap/encoding/'.]
  

これは、戻り値(上記例では 'return' )が認識されないXML型であることを意味しています。この場合、コマンドを追加してXML型を適切な型にデシリアライズする必要があります。次のコマンドは、String にデシリアライズするコード例です。

 
      m_smr.mapTypes(Constants.NS_URI_SOAP_ENC, 
        new QName("", "return"), null, null,
        new org.apache.soap.encoding.soapenc.StringDeserializer()
      );

PL/SQLおよびJMS Webサービスのモデル化(2466833)

クラス・ダイアグラム上には、PL/SQLまたはJMS Webサービスを表示することはできません。

リファクタを使用してWebサービスのPL/SQLラッパー・クラスの名前を変更できない(2433468)

リファクタを使用してPL/SQL WebサービスのPL/SQLラッパー・クラスの名前を変更した場合でも、PL/SQL Webサービスまたはデプロイメント・ディスクリプタに対して更新が行われないため、これらの名前を手動で変更する必要があります。
ただし、同様のリファクタリングはJava Webサービスについては正しく機能します。

プリミティブ型の引数のメソッド名をWebサービス・モデラーを使用して変更するとメソッドが重複する(2510663)

Webサービスのメソッドがプリミティブ型の引数で構成されている場合、そのメソッドの名前をUMLモデラー上で変更すると、新しいメソッドが作成されますが、古いメソッドは公開解除されません。元のメソッドは手動で公開解除する必要があります。

メソッドの数が多い .NET Webサービスに対するスタブの生成(2776932)

.NET Webサービスが多くのメソッドを持つ場合に、そのWSDLファイルに直接アクセスしてスタブの生成を行うとJDeveloperがハングしてしまう場合があります。この場合、事前にWSDLファイルをローカルにダウンロードして、そのファイルに対してスタブを生成するようにしてください。

ビジネス・コンポーネント・ファイルがWebサービスのデプロイメント・プロファイルに追加されない(2787857)

BC4JコンポーネントをWebサービス化する場合、Java Webサービス・ウィザードでは、デプロイメント・プロファイルにビジネス・コンポーネントの中間層用のライブラリを追加しません。

この場合、次の方法で対応できます。

これにより、ファイルが正しくWebサービスとしてデプロイされるようになります。

UNIX固有の問題

Redhat AS 2.1 では、埋込みOC4Jが「実行」->「終了」で終了しない(2606290)

これは、Sun JDK 1.3.1_02 for LinuxのHotSpot JVM内のSUN JDKバグ#4344135/4755503が原因です。Sun JDK 1.4 for Linuxでは修正されています。サポートされている他のすべてのLinuxの配布とバージョンに対処方法が実装されています。Redhat 2.1/ASでは、埋込みOC4Jプロセスを停止するにはJDeveloperを終了する必要があります。もう1つの方法は、Classic JVMを使用することです。この作業環境設定は、「プロジェクト」->「プロジェクトの設定...」を実行し、「実行」を選択し、「仮想マシン」「Classic」に変更して実行できます。

リリース6.xより前のNetscape CommunicatorにおけるTEXTAREA要素の編集の制限

Solarisプラットフォームでは、リリース6.xより前のNetscape Communicatorで、TEXTAREA要素での編集ができません(これは JDeveloper の制限ではありません)。対処方法として、Netscape Communicatorを6.0以上にアップグレードします。

Sun JDK 1.3.1_02 for LinuxのHotspot JVMに関する問題(2458363)

JDeveloperで開始したJavaプロセスのデバッグ時にSun JDK 1.3.1_02 for LinuxのHotspot JVMに関する問題が発生することがあります。デバッグ・セッションで次のようなエラー・メッセージが表示される可能性があります。

 
	#HotSpot Virtual Machine Error, Internal Error
	#Please report this error at
	#http://java.sun.com/cgi-bin/bugreport.cgi
	#
	#Error happened during: mark sweep
  	#
	#Error ID: 4652414D450E43505002F0
  	#
	#Problematic Thread: prio=1 tid=0x808b0b8nid=0x20df runnable
  	#
	Debugger disconnected from local process.
	Process exited with exit code 0.

このような問題が発生した場合は、Classic JVMの使用をお薦めします。この作業環境設定は、「プロジェクト」->「プロジェクトの設定...」を実行し、「実行」を選択し、「仮想マシン」「Classic」に変更して実行できます。

一部のアクセラレータと修飾キーがWindows以外のオペレーティング・システムで動作しない

デスクトップによって、独自の機能のためにキーが予約されるため、競合するJDeveloperのアクセラレータと修飾キーは再マッピングする必要があります。これは、アクセラレータの「設定」ページで「ツール」->「設定...」を実行し「アクセラレータ」を選択すると実行できます。

デバッグ(Windows以外のプラットフォームで特に重要)

デバッガを使用するためには、Java 2 SDK(JDK)を使用する必要があります。Java 2 Runtime Environment(JRE)を使用してデバッグしないでください。Java 2 Runtime Environmentには、HotSpot VMまたはClassic VMでのデバッグに必要なファイルが含まれていません。Java 2 Runtime Environmentを使用すると、デバッガの起動時にログ・ウィンドウに次のエラー・メッセージが表示される場合があります。

デバッガはローカル・プロセスに接続しようとしています。......
......
デバッガはローカル・プロセスに接続できません。

一部のLinuxデスクトップにおける、小さくてサイズ変更できない印刷ダイアログの問題(2524819)

KDE2デスクトップで実行しているときにJDeveloper内の任意のエディタで「ファイル」->「印刷」を実行すると、小さくてサイズ変更できない印刷ダイアログが表示され、印刷機能が使用できなくなります。これは、Sun JDK 1.3.1 for LinuxのHotSpot JVMのSun JDKバグ4342102/4756345が原因です。Sun JDK 1.4 for Linuxでは修正される予定です。対処方法として、GNOMEデスクトップを使用します。

JDeveloperから起動されるSQL*Plusでの日本語の文字化け

JDeveloperから起動されるSQL*Plusで日本語が文字化けする場合が発生する可能性があります。これは、JDeveloperから起動される際に適切なリソースファイルを参照できていないためです。この場合、コンソールからの実行時もしくは <JDev_Home>/jdev/bin/jdev スクリプトに環境変数 XAPPLRESDIR を設定してください。

Solarisのマルチユーザー環境下におけるBC4J開発時の注意点

Solaris OS上にインストールされたJDeveloperをマルチユーザー環境で使用する場合、データベースにアクセスするBC4Jのウィザードでoracle.jbo.CustomClassNotFoundExceptionが発生する可能性があります。この場合、Business Components Packageウィザード、エンティティ・オブジェクト・ウィザード、またはエンティティ・オブジェクト・エディタの「名前」ページにあるスキーマ・オブジェクトのタイプのチェック・ボックス(表、ビュー、シノニム、スナップショット)を再設定することで処理を継続できます。

Windows固有の問題

Windows XP上のJSPアプリケーションでのinterMedia属性の使用

XPオペレーティング・システムのInternet Explorerブラウザで、interMedia属性を使用するJSPアプリケーションがある場合、特定の型について問題が発生することがあります。一部のプレーヤでのMP3ファイルの実行に関する問題が明らかになっています。これ以外のファイルも実行できない可能性があります。

この問題の対処方法は、まずInternet ExplorerおよびXPを最新の状態に更新しておくことです。また、プレーヤも最新状態に更新してください。それでも問題が解消しない場合は、Netscapeなど、テスト時にMP3が正常に再生できたその他のブラウザを使用してください。

JDeveloperの起動に時間がかかる(2435555)

WindowsでJDeveloperの起動に長い時間がかかるときは、アンチウイルス・プログラムによる .zipファイルのリアル・タイム・スキャンが原因となっている場合があります。次のウイルス・チェッカーのデフォルト設定は、JDeveloperの起動時にパフォーマンス上の大きな問題を引き起こすことが明らかになっています。

JDeveloperの起動時間を短縮するには、ウイルス・チェッカーのリアルタイム監視で圧縮ファイルをスキャンしないように構成する必要があります。

その他の問題

埋込みのブラウザにおける日本語表示について(2191441)

JDeveloper内部で起動されるブラウザ(HTMLビューア、JSPビューア)は、一部の日本語表示に対して問題があります。以下のようなタグの場合、日本語部分が'□'で表示されます。

<font style="font-family: Arial, Helvetica, sans-serif">日本語</font>

JDeveloperでのOCIドライバの使用

OCIドライバを使用してOracleデータベースへの接続を作成するには、OCIクライアントのバージョンとJDBCドライバのバージョンが一致することが必要です。バージョンが同じでない場合は、接続のテストまたはオープンが失敗します。OCIクライアントのバージョンによって異なりますが、次のいずれかのエラーが報告される場合があります。

いずれの場合も、JDeveloperに含まれるJDBCドライバに一致するバージョンのOCIクライアントをインストールするか、JDBCドライバ(<JDev_Home>/jdbc/libにある)を<ORACLE_HOME>/jdbc/driverのドライバで置き換える必要があります。

また、接続ウィザードでの接続テスト時に以下のエラーメッセージが表示され、正常にデータベースに接続されない場合があります。

"no ocijdbc9 in java.library.path"

この場合は、以下のステップが行われているかどうか確認してください。

なお、Solaris/Linux環境ではLD_LIBRARY_PATH環境変数として、<ORACLE_HOME>/lib が設定されている必要があります。

サードパーティ製JDBCドライバのプロジェクトへの追加

Oracle以外のデータベースと接続する場合、プロジェクトには手動でJDBCドライバのライブラリを追加する必要があります。BC4Jのプロジェクトを利用するJClientやJSPといったBC4Jクライアント・プロジェクトに対してもライブラリを追加する必要があります。

PL/SQLのリモート・デバッグ: 「値の変更」の未サポート(2501606)

本リリースより、Oracleデータベース内のPL/SQLのデバッグを行うことができるようになりました。特に、Oracle9i データベース Release2(9.2)に対してはリモートのSQLクライアントを使用したデバッグが可能です。ただし、このようなPL/SQLのリモート・デバッグの場合、指定されたブレークポイントで、デバッガによって処理が中断されたときに、変数の値を変更する機能はサポートされません。

JDK 1.4.1を使用するプロジェクトでのCodeCoachの使用(2614183)

JDK 1.4.1を使用するプロジェクトでCodeCoachを使用すると、結果が生成されない場合があります。対処方法として、プロジェクトのプロパティを表示し、「CodeCoach」パネルを選択し、Hashtable、StringBufferおよびVectorなどのオブジェクトのアドバイスを選択解除します。

JDK 1.4とassertキーワード(2394626、2394613)

パーサーとコード・エディタは、'assert'キーワードについて認識していません。JDK 1.4のassertキーワードのサポートをコード・エディタで有効にするためには、<JDev_Home>/jdev/bin/jdev.conf ファイルの次の行のコメント指定を解除し、JDeveloperを再起動します。

AddVMOption -DEDITOR_ENABLE_ASSERT=true

ビジネス・コンポーネント uiXML ページのプレビュー

ビジネス・コンポーネント uiXML ページをプレビューする前に、ビジネス・コンポーネント・プロジェクトをコンパイルし、クライアント・プロジェクトのクライアント・データ・モデル・ファイル(.cpx)をコンパイルしてください。これらのファイルをコンパイルすることで、ビジネス・コンポーネントがアクセス可能になり、.cpxファイルがプロジェクトの出力パスに確実に配置されます。

UIX におけるURLパラメータ名の制限(2610038、2409499)

UIX の BasePageEncoder は、URLパラメータ値のデコードは自動的に行いますが、URLパラメータ名のデコードは現在行っていません。このため、イベント・ハンドラで、デコードされたパラメータ名を使用してアクセスするとパラメータ値が見つからないという状態になります。パラメータ値は、エンコードされたパラメータ名を使用してパラメータ・マップに格納されているためです。この制限は、UIXランタイムの将来のバージョンではなくなります。この問題の対処方法として、シングルバイトのパラメータ名を使用するようにしてください。

uiXML for Business Componentsウィザードで生成されたコードでは、URLパラメータ名としてビュー・オブジェクト属性名を使用します。ビュー・オブジェクト属性名に日本語などのシングルバイト以外のキャラクタ・セットの文字が含まれる場合、この問題の影響で、uiXMLアプリケーション(「Complete uiXML Application」、「uiXML Browse & Edit Form」)での行の更新や作成ができません。

ビュー・オブジェクトおよびその属性名をシングルバイトで設定してからウィザードを利用することをお勧めします。

インクルードされたJSPのコンパイル: 変数が見つからない(2370587)

他のページに組み込まれ(インクルードされ)、単独でのコンパイルを予定していないJSPを、JDeveloperでコンパイルしようとするとこのエラーが発生します。これは、JDeveloperでは、すべてのJSPをそれぞれコンパイルしようとするためです。

ウィザードで生成されたuiXML BC4JアプリケーションでinterMedia属性を更新できない(2427189、2420519)

JDeveloperのuiXML for Business Componentsウィザードを使用して生成されたuiXMLアプリケーションに対して、interMedia属性がビュー・オブジェクトにあり、それを更新させたい場合、生成されたuiXMLアプリケーションを変更する必要があります。

  1. web.xmlを更新して、FileUploadManagerとしてOrdFileUploadManagerを指定します。次に例を示します。
     
    <servlet>
        <servlet-name>uix</servlet-name>
        <servlet-class>oracle.cabo.servlet.BajaServlet</servlet-class>
        ...
        <init-param>
           <param-name>oracle.cabo.servlet.io.FileUploadManager</param-name>
           <param-value>oracle.cabo.data.jbo.servlet.io.OrdFileUploadManager</param-value>
        </init-param>
    </servlet>
  2. "xxxx_Create.uix"ファイルおよび"xxxx_Update.uix"ファイルを更新して、 usesUpload="true" 属性を<form>要素に追加します。次に例を示します。
  3. <form name="createForm" method="POST" usesUpload="true">

Struts用に設定されていないプロジェクトにStrutsタグをドロップした場合の実行時エラー(2360274)

Struts設定がされていないプロジェクトでも、JSPファイルに対して、コンポーネント・パレットからStrutsタグをドロップして、ファイルを正常にコンパイルできます。ただし、実行時にJSPページで次のようなエラーが発生します。

java.lang.NoClassDefFoundError: org.apache.struts.taglib.html.

これは、Strutsタグの実体が含まれているstruts.jarファイル自体はプロジェクトに設定されますが、その他の実行時に必要なサポート・クラスが jakarta-struts/lib ディレクトリにあり、このディレクトリはサイズが大きいためにプロジェクトにコピーされないためです。Strutsアプリケーションが動作するようにするには、Strutsランタイム・ライブラリを現在のプロジェクトに追加します。これで、クラスパスが正しく設定されます。

コードエディタにおけるフォント属性について(2015861)

メニューの「ツール」->「設定」「コード・エディタ」->「フォント」では、コード・エディタ上で利用するフォントを選択することができます。ただし、フォントの種類によっては、太字、斜体での表示がうまく機能しません。これは、JDK 1.3自身の問題として報告されています。

ソース・パスのファイルによるプロジェクト・コンテンツの設定

<JDev_Home>/system###/ide.propertiesIde.ProjectExcludeFiltersプロパティの値を変更することで、プロジェクト・コンテンツの動的設定機能の対象外ファイルを指定することが可能になりました。この新しいプロパティの使用方法については、ide.propertiesに詳しいコメントがあります。

jdev/lib/extの拡張機能が<JDev_User>/lib/extよりも優先されてロード済と表示される(2506275)

同じ拡張機能の異なるバージョンが<JDev_Home>/jdev/lib/extフォルダと<JDev_User>/lib/extフォルダの両方にある場合、<JDev_Home>/jdev/lib/ext の拡張機能が優先されて、拡張機能マネージャの設定パネルにはロード済としてリストされます。

エディタ・ウィンドウのシステム・メニューが表示されない(2387616)

Metalルック&フィールでは、エディタのシステム・メニュー(ウィンドウの左上端をクリックして表示されるメニュー)が利用できません。

Oracle9iAS JAASの使用(3194890)

JDK 1.3のjavax.security.auth.loginLoginContextの問題により、Oracle9iAS JAASを使用時に次のような例外が発生することがあります。

The java.lang.IllegalArgumentException: wrong number of arguments at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

EARインポート・ウィザード使用時の注意点(3167280)

EARインポート・ウィザードにおいてインポートするEARファイルを指定する際に、テキスト・フィールドに直接EARファイルのパスを入力しても「次へ」ボタンがアクティブにならない場合があります。この場合は、「参照」ボタンをクリックしてインポートするEARファイルをダイアログから選択してください。

Oracle Corporation
World Headquarters
500 Oracle Parkway
Redwood Shores, CA 94065, USA
http://www.oracle.com

Worldwide Inquiries:
1-800-ORACLE1
Fax 650.506.7200

Copyright and Corporate Info