Oracle® JDeveloper 10g

リリース・ノート

リリース9.0.5.3

2004年10月

目次

概要

Oracle JDeveloper 10g は、Java、XMLおよびSQLの最新の業界標準を使用して、アプリケーションやWebサービスを構築するための統合開発環境(IDE)です。開発のライフ・サイクル全体をサポートしており、アプリケーションのモデル化、コーディング、デバッグ、テスト、プロファイリング、チューニングおよびデプロイを行うための機能が統合されています。

視覚的かつ宣言的なアプローチと、革新的なOracle Application Development Framework(Oracle ADF)を組み合せることによって、アプリケーション開発が簡略化され、定常的なコーディング作業の量が削減されます。これにより、他に類を見ないほどの高い生産性と多種多様なテクノロジが開発者にもたらされます。

Oracle JDeveloperには、開発環境への機能追加とカスタマイズを行うためのExtension SDKが付属しています。Oracle JDeveloperの詳細および最新の情報については、OTN-J(Oracle Technology Network Japan)にあるJDeveloperの製品ページ(http://otn.oracle.co.jp/products/jdev/)を参照してください。

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

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

移行に関する問題

移行ダイアログによってJDeveloperの初回起動がハングしたように見える(3450579)

JDeveloperを初めて起動したときに、旧リリースのJDeveloperでのユーザー設定を移行するかどうかを尋ねる移行ダイアログが表示されます。このとき、JDeveloperのメイン・ウィンドウはまだ表示されていないので、このダイアログの親はユーザーのデスクトップとなります。したがって、Windowsのタスクバーに項目は表示されません。また、このダイアログそのものが、他の実行中のアプリケーションのウィンドウによって隠されることがあります。他の実行中のアプリケーションのウィンドウによって隠された場合、ユーザーにはJDeveloperがハングしているように見えるかもしれませんが、JDeveloperはハングしているのではなく、移行ダイアログへのユーザーの応答を待っているだけです。隠れているJDeveloperのダイアログを表示するには、他のアプリケーションを最小化するか、[Alt]を押しながら[Tab]を押して、実行中のアプリケーションを移行ダイアログに切り替えてください(JDeveloperの移行ダイアログはJava標準のコーヒー・カップのアイコンで表示されます)。

Oracle JDeveloper 10g へのStrutsアプリケーションの移行(3531833)

Oracle9i JDeveloperで作成されたStrutsアプリケーションのプロジェクトをJDeveloper 10g へ移行すると、正しくコンパイルできなくなることがあります。この現象は、プロジェクトの移行プロセス中に <HTML_Root>/WEB-INF/lib ディレクトリ内にあった struts.jar ファイルが削除された場合に発生します。その場合は、<JDev_Install>/jakarta-struts/lib ディレクトリから struts.jar ファイルを、<HTML_Root>/WEB-INF/lib ディレクトリにコピーしてください。

注意: Oracle JDeveloper 10g が提供するStrutsのバージョンは1.1です。

備考: <JDev_Install> はJDeveloperのインストール・ディレクトリ、<HTML_Root> はプロジェクトのHTMLルート・ディレクトリへのフルパスを表しています。

ADFイテレータ・バインディングにおけるビュー・オブジェクトのRowSetのデフォルト・イテレータ

JDeveloper 10g が新たに提供するADFイテレータ・バインディングを使用すると、バインド先のイテレータの現在行はRowSetの最初の行に進みます。これは、その行のUIレンダリングに最適な動作であり、JSTLなどの標準JSPタグ・ライブラリと組み合せた場合に、ADFイテレータ・バインディングが正しく機能するために必要とされる動作です。

ただし、BC4JアプリケーションをJDeveloper 10g に移行し、新しいADFイテレータ・バインディングをアプリケーションに追加しようとすると、この新しい動作によって既存のアプリケーション・ロジックに問題が生じることがあります。例として、ユーザー作成のビジネス・ロジックを表す次のようなアプリケーション・モジュール・メソッドを考えてみましょう。

public boolean employeeExists(Number empno) {
  EmpViewImpl eview = getEmpView();
  eview.setWhereClause("empno = :1");
  eview.setWhereClauseParam(0,empno);
  eview.executeQuery();
  /*
   * MIGRATION CAVEAT
   * ~~~~~~~~~~~~~~~~
   * When no ADF iterator bindings are bound to the "EmpView"
   * view object instance -- more precisely, to the default iterator
   * of its default rowset -- then immediately after executeQuery()
   * the iterator will be at the slot before the first row. Assuming
   * this query retrives a single row, then the eview.hasNext() will
   * be true, since we haven't yet advanced to the first row.
   *
   * When an ADF iterator binding is bound to "EmpView" then after
   * the executeQuery() the iterator will advance to sit on the first
   * row of the result -- in this case, the only row in the result --
   * and the eview.hasNext() will return false.
   */
  if (eview.hasNext()) {
    return true;
  }
  else {
    return false;
  }
}

行セットの結果をループ処理し、行ごとに操作を実行するように作成されている中間層のビジネス・ロジックにおいても、この問題は当てはまります。たとえば、各行の数値属性の合計を計算する場合などがあります。例として、次のようなコードを見てみましょう。

public Number shoppingCartTotal() {
  ShoppingCartImpl cart = getShoppingCart();
  cart.reset();
  double total = 0;
  /*
   * MIGRATION CAVEAT
   * ~~~~~~~~~~~~~~~~
   * When no ADF iterator bindings are bound to the "ShoppingCart"
   * view object instance, then immediately after the reset() call above
   * the iterator will be at the slot before the first row. The loop
   * below will operate over all N rows in the rowset coded like this.
   *
   * When an ADF iterator binding is bound to "ShoppingCart" then after
   * the reset() call, the iterator will advance to sit on the first
   * row of the result. If the loop code is not changed, then it will
   * operate on the 2nd through the Nth rows, missing the first row.
   */
  while (cart.hasNext()) {
    ShoppingCartRowImpl curCartItem = (ShoppingCartRowImpl)cart.next();
    total += curCartItem.getExtendedTotal().doubleValue();
  }
  return total;
}

この問題には、それぞれに簡単な解決方法があります。

  1. 該当するデータが存在するかどうかだけを調べるときは、first() メソッドを使用し、その戻り値が null かどうかをチェックします。
  2. 行セットの反復処理を実行するときは、createRowSetIterator() を使用し、ビジネス・ロジックで使用するためのイテレータを作成します。作成したイテレータをアクティブ状態で残しておきたくない場合には、反復処理が終わった後でイテレータに対して closeRowSetIterator() を忘れずにコールしてください。

新しく作成するコードに対しても、この手法を使用してください。前に示した2つのコードを前述のアドバイスに従って書き直すと、最初のコードは次のように変更されます。

public boolean employeeExists(Number empno) {
  EmpViewImpl eview = getEmpView();
  eview.setWhereClause("empno = :1");
  eview.setWhereClauseParam(0,empno);
  eview.executeQuery();
  /*
   * Using first() instead of hasNext() to test for existence of
   * at least one row in the result since default iterator might be
   * bound to an ADF iterator binding being used in the view layer
   */
  if (eview.first() != null) { /* Using first() instead of hasNext() */
    return true;
  }
  else {
    return false;
  }
}

2つ目のコードは次のように変更されます。

public double shoppingCartTotal() {
  ShoppingCartImpl cart = getShoppingCart();
  /*
   * Using secondary iterator since default iterator
   * might be bound to an ADF iterator binding being used
   * in the view layer
   */
  RowSetIterator cartIter = cart.createRowSetIterator(null);
  double total = 0;
  while (cartIter.hasNext()) {
    ShoppingCartRowImpl curCartItem = (ShoppingCartRowImpl)cartIter.next();
    total += curCartItem.getExtendedTotal().doubleValue();
  }
  cartIter.closeRowSetIterator();
  return total;
}

BC4J UIX/BC4J UIX JSPアプリケーションの移行(3365125)

旧リリースで作成したUIX BC4JまたはBC4J UIX JSPのアプリケーションのプロジェクトをJDeveloper 10g に移行した直後に実行した場合、UIXのリソースおよびスタイルが正しく表示されません。これは、移行プロセスでは、製品の以前のリリースに関連するオブジェクトとファイルが削除されるのみで、新しいリソースが追加されないためです。次の手順でプロジェクトに最新のUIXのリソースおよびスタイルを追加する必要があります。

  1. アプリケーションのプロジェクトを移行します。
  2. アプリケーションのモデル・プロジェクトおよびビュー・プロジェクトを再ビルドします。

Chart Data Web Beanを使用したアプリケーションの移行(3507792)

Chart Data Web Beanを使用したBC4J JSP Webアプリケーションを移行すると、凡例マーカーがオンの場合は java.lang.NullPointerException がスローされます。これは、グラフのイメージをレンダリングするときに発生します。

対処方法:

  1. 凡例マーカーをオフにします。
  2. 生成されたスクリプトレットを次のように変更します。
     c.getChart().setLegendDisplay(false); 

JClient JARファイルの名前の変更(3328121)

JClientが提供するGUIコントロールを含む bc4jui.jar は、本リリースから adfjclient.jar に変更されました。JClientプロジェクトを以前のリリースからJDeveloper 10g に移行した場合は、adfjclient.jar を含むように、プロジェクトのプロパティを更新してください。

旧バージョンから移行されたJClientアプリケーションにおけるデータ・バインディング(3407704)

旧リリースでJClientアプリケーションを開発するには、プロパティ・インスペクタを使用してバインドするデータを Model または Document プロパティで設定していました。JDeveloper 10g では、データ・コントロール・パレットを使用してドラッグ&ドロップでデータ・バインディングの設定が可能ですが、旧バージョンから移行されたプロジェクトでは、JDeveloper 10g の形式でのデータ・バインディングを使用することはできません。これは、フレームまたはパネルに、これまでの形式でのデータ・バインドと新しい形式でのデータ・バインドを混在させることができないためです。ただし、プロジェクトに新しいパネルもしくはフレームを追加する場合には、JDeveloper 10g が提供する新しい形式でのデータ・バインドを使用することができます。

データ・バインドに関する設定を編集または確認するために、プロパティ・インスペクタの model プロパティからBinding Editorを起動した場合は、使用されているデータ・バインドの形式に応じて、それぞれに対応した表示およびコード生成がなされます。ただし、新規に作成するアプリケーションにおいて旧リリース形式でのデータ・バインドを使用することはできません。旧リリース形式でのデータ・バインドは旧リリースから移行されたプロジェクトでのみ使用することができます。

Java Web Startを含むプロジェクトの移行

旧リリースのJDeveloperが提供していた bc4jui.jar のファイル名は、adfjclient.jar に変更されました。JARファイルに関するADFのネーミング規則は、ADF JClientアプリケーションをデプロイするときに、どのライブラリが含まれるかをユーザーに意識させないようになっています。プロジェクトのクラスパスに adfjclient.jar が含まれていれば、旧リリースからアップグレードされたJClientアプリケーションは、変更せずに実行できます。ただし、Java Web Startを使用してJClientアプリケーションをローカル・クライアントにデプロイする場合は、ウィザードによって生成されたデプロイメント・ディスクリプタ・ファイルで、bc4jui.jar のかわりに adfjclient.jar を参照するように変更する必要があります。

JDeveloper 9.0.3で作成したPL/SQL Webサービスの再生成(3023311)

JDeveloper 9.0.3で作成したPL/SQL WebサービスのプロジェクトをJDeveloper 10g に移行した後で、そのPL/SQL Webサービスを再生成しようとするとコンパイルができなくなります。この問題を回避するには、Webサービスを再生成する前に、Webサービスのパッケージに関連しているJavaファイル、およびそのサービスが使用しているオブジェクト・タイプを、すべてプロジェクトから削除してください。

旧リリースで作成されたWebサービスの再生成(3506154)

旧リリースのJDeveloperで作成したWebサービスのプロジェクトをJDeveloper 10g に移行した後でを再生成すると、再生成されたインタフェースがデプロイメント・プロファイルから欠落することがあります。そのままデプロイした場合は、デプロイされたWebサービスにアクセスできなくなります。この問題を回避するには、デプロイメント・プロファイルのダイアログを使用して、欠落しているファイルを手動で組み込んでから、Webサービスを再デプロイしてください。

Oracle JDBCドライバ

Oracle JDeveloper 10g には、Oracle Application Server 10g のOracle JDBCドライバが付属しています。このドライバがサポートしているデータベースのバージョンは次のとおりです。

注意: OCIドライバを使用するには、Oracle Clientがインストールされている必要があります。また、Oracle ClientのバージョンとJDBCドライバのバージョンが一致している必要があります。JDeveloperが提供するJDBCドライバとは異なるバージョンのJDBCドライバを使用するための設定については、オンライン・ヘルプを参照してください。

OC4Jに関する問題

Oracle JDeveloper 10g に含まれるOC4Jバージョン

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

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

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

java -jar oc4j.jar -version

備考: <JDev_Install> はJDeveloperのインストール・ディレクトリ、<Home_Directory> はJDeveloperを実行中のユーザーのホーム・ディレクトリへのフルパスを表しています。

OC4Jのメモリー要件

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

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

OC4J上でのUIX JSPの実行

OC4J上でUIX JSPアプリケーションを実行する場合に java.lang.LinkageError が発生することがあります。これは、OC4Jが使用するクラスローダーの問題です。この問題は、次の手順で回避することができます。

  1. UIX JSPアプリケーションのプロジェクトから不要なライブラリを削除します。例えば、「Oracle JDBC」「BC4J Oracle Domain」などのライブラリはModelプロジェクトに設定されているので不要です。
  2. orion-web.xmlファイルで、<web-app-class-loader search-local-classes-first="true"/> が記述されている場合は、そのエントリを削除します。

デプロイに関する問題

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

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

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

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

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

  1. ファイル <tomcat_home>/conf/web.xml をテキスト・エディタで開きます。
  2. 次の要素を探します。
    <init-param>
        <param-name>enablePooling</param-name>
        <param-value>true</param-value>
    </init-param>
  3. <param-value> の値をfalse に変更します。

XSQLページの実行(1552039)

XSQL Page Processorは展開されていないWARファイルからXSQLページを読み込むことができません。そのためにXSQL Pageは、WebLogic 6.1/7.0、JBoss 3.0.4、およびTomcat 4.1.12では実行できません。

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

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

備考: <JDev_Install> はJDeveloperのインストール・ディレクトリへのフルパスを表しています。

WebLogic6.1がXMLファイルの'Windows-1252'エンコーディングを認識できない

WebLogic6.1は、XMLファイルの Windows-1252 エンコーディングを認識できません。これは、WebLogic6.1のxmlparserの不具合です。JDeveloperのアプリケーションをWebLogic6.1にデプロイするには、WebLogic6.1が認識するIANAエンコーディングにエンコーディングを変更します。日本語環境であれば UTF-8Shift_JIS エンコーディングなどを使用します。

たとえば、UTF-8エンコーディングを使用するように変更するための手順は次のとおりです。

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

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

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> エントリで置換する必要があります。

テクノロジ・スコープとしてADF UIXだけが設定されているプロジェクトで、「新規ギャラリ」にデプロイメント・プロファイルが正しく表示されない(3316426)

ADF UIXテクノロジ・スコープのみが割り当てられているプロジェクトを操作するとき、「ファイル」「新規」で起動される「新規ギャラリ」にデプロイメント・プロファイルの正しいリストが表示されません。フィルタを「プロジェクト・テクノロジ」から「すべてのテクノロジ」に切り替えると、デプロイメント・プロファイルの全リストが表示されます。

UIXアプリケーションをWebLogicにデプロイする際の追加手順(3390872)

UIXアプリケーションをWebLogicサーバーにデプロイするには、次の追加手順が必要です。

  1. EARファイルおよびWARファイルをファイル名と同じディレクトリの下で展開します。

    例: webapp1.earがwebapp1.warを含んでいる場合

  2. META-INF/application.xml ファイルで、WARファイルに変わり、展開したディレクトリを指定します。
  3. これらの作業が終わったら、EARファイルおよびWARファイルをディレクトリから削除します。

Oracle Application Development Frameworkに関する問題

Oracle ADF固有の移行情報については、「移行に関する問題」を参照してください。

ADF DataAction for Strutsに関する問題

メソッドの戻り値に対するデータ・バインディングに関するベスト・プラクティス

JDeveloper 10g では、データ・コントロール・パレットからData Actionにメソッドをドラッグ&ドロップすることで、コーディングなしにメソッドを実行させることができます。Data Pageにメソッドをドラッグ&ドロップすることも可能ですが、メソッドを実行するための専用のバインディング・コンテナを持つData Actionを作成して、その結果をData Pageにフォワードするようにしてください。

ADF Business Componentsに関する問題

旧リリースで作成されたアプリケーションではバッチ・モードがサポートされない

旧リリースのJDeveloperからJDeveloper 10g に移行されたアプリケーションでは、バッチ・モードは使用できません。バッチ・モードを使用できるのは、JDeveloper 10g でADF Binding Layerを使用して作成されたアプリケーションのみです。

バッチ・モードでのビュー・オブジェクトのカスタム・メソッド

バッチ・モードで実行する際には、カスタム・インタフェースで定義されたビュー・オブジェクトのメソッドもバッチモードで実行する必要があります。そのためには、次の手順が必要です。

  1. アプリケーション・モジュールにビュー・オブジェクトを返すカスタム・メソッドを定義します。
  2. 定義したアプリケーション・モジュールのカスタム・メソッドを使用してビュー・オブジェクトを取得します。
  3. 取得したビュー・オブジェクトでカスタム・メソッドを実行します。

この操作を行わないと、java.lang.ClassCastException がスローされる場合があります。

ADF Business Componentsを含むプロジェクトの設定(3508285)

JDeveloperのプロジェクト・オプションである「ソースパスをスキャンしてプロジェクト・コンテンツを設定」は、ADFビジネス・コンポーネントに対しては動作が保証されません。本リリースでは、プロジェクトにADFビジネス・コンポーネントが含まれている場合、このプロジェクト・オプションを使用しないでください。

Apache Strutsの制限事項

単一プロジェクト内の複数のStrutsアプリケーション・モジュールはサポートされない

このリリースのStrutsダイアグラミングでは、1つのワークスペース・プロジェクトでサポートできるStrutsダイアグラムは1つだけです。複数のStruts構成ファイルは、個々のプロジェクトに振り分けてください。詳細は、OTN-JのJDeveloperの製品ページ(http://otn.oracle.co.jp/products/jdev/)で公開されている『JDeveloper 10g での複数のStruts構成ファイル利用のための構成』を参照してください。

Tileベースのアプリケーションの開発

JDeveloper 10g では、Tileを使用したStrutsアプリケーションの開発が可能ですが、ページ・フロー・モデラーを使用することはできません。Struts構成ファイル(struts-config.xml)をXMLエディタで直接編集するか、Struts構成エディタ、構造ウィンドウ、プロパティ・インスペクタなどの機能は、Tileベースのアプリケーションを開発するときにも使用できます。

Strutsサーブレットの名前はactionでなければならない(3393123)

JDeveloperでStrutsアプリケーションを開発・実行するには、StrutsのActionServletの名前は次の web.xml の例のように action である必要があります。

<servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
        <param-name>config</param-name>
        <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

ActionServletを拡張する独自のサーブレット・クラスをアプリケーションで使用できますが、サーブレットの名前は「action」のままにしてください。

JSPページに自動的に追加された<html:form>タグのaction属性(3452660)

データ・コントロール・パレットからJSPページにインプット・フィールドなどのFORM要素を追加した際に、<FORM> タグまたは <html:form> タグが定義されていない場合には、<html:form> タグを自動的に追加させることができます。ただし、ここで自動的に追加された<html:form>タグは、次のようなコードです。

<html:form action="/Handle_This_Form.do">

<html:form> タグが自動的に追加された場合は、action 属性の値として指定された Handle_This_Form.do の部分を作成中のアプリケーションに応じて編集してください。

Data PageおよびData Actionへのメソッドのドラッグ&ドロップ(3443358)

Strutsページ・フロー・モデラーでの作業中に、フォワードを表す矢印のテキスト・ラベルがData Page/Data Actionを表すアイコンと表示が重なってしまうことがあります。このような状態でData Page/Data Actionに対してデータ・コントロール・パレットからメソッドをドラッグ&ドロップしてもうまく設定されない場合があります。データ・コントロール・パレットからメソッドをドラッグ&ドロップする前に、Data Page/Data Actionと表示が重ならないようにフォワードのテキスト・ラベルを移動するようにしてください。

データ・バインディングに関する問題

データのフェッチまたは編集時におけるパフォーマンス障害の回避(3278854)

データのフェッチまたは変更などの操作におけるパフォーマンスを最適化するには、同じアプリケーションやアプリケーション・フローの複数のバインディング・コンテナにおいて、イテレータ・バインディングに関連付けられた RowSetIterator の使用すべてに対し、同じ rangeSize を設定してください。

スカラー値属性の変更(3389123)

Beanアクセッサによって返されるスカラー属性は、本リリースのADF Data Bindingでは readonly とマークされます。本リリースでは、この値の更新サポートは実装されていません。

スカラー属性を持たないBeanのメソッドの実行結果のレンダリング(3475505)

スカラー属性を持たないBeanを <adf:render> タグまたは <adf:inputrender> タグを使用してレンダリングしようとすると、oracle.jbo.NoDefException がスローされます。

oracle.jbo.domain.Arrayデータ型の使用(3412750)

本リリースでは oracle.jbo.domain.Array 型データを、データ・コントロール・パレットからドラッグ&ドロップしてData PageやJClientアプリケーションにデータ・バインドすることはできません。このような機能は将来のリリースで対応する予定です。

RowSet型を返すアプリケーション・モジュールのカスタム・メソッド(3323420)

ユーザーが定義のJavaBeansやEJBやWebサービスなど、ADF Business Components以外のテクノロジによって実装されたモデルでは、XMLファイルを編集して、メソッドの戻り値のコレクションのBeanクラスを指定することができますが、ADF Business Componentsで実装されたモデルではこの操作ができません。これにより、RowSet型を返すアプリケーション・モジュールのカスタム・メソッドの戻り値をユーザー・インタフェースにバインドすることはできません。

ビュー・リンクのマスターに設定されたRowSetIterator(3507403)

ADF Business Componentsの使用時に、アプリケーション・モジュールのデータ・モデルにビュー・リンクが使用されている場合、マスターのビュー・オブジェクトのRowSetIteratorの名前を指定しないでください。マスターのビュー・オブジェクトのRowSetIteratorに名前をつけると、ディテールのビュー・オブジェクトがデータを返しません。

Strutsを使用しないJSPアプリケーションでのファイル・アップロード

Strutsを使用せずにADF Data Bindingを使用したJSPアプリケーションを作成することは可能ですが、ファイルをアップロードするアプリケーションの場合には、次のような追加手順が必要です。

  1. <form> タグで次のように enctype 属性が正しく設定されていることを確認します。
    <form method="POST" action="upload.jsp" enctype="multipart/form-data">
  2. <form> タグ内に、<adf:inputrenderer/> を追加します。model 属性には、アップロードするファイルのバインド名(次の例では Image)を指定します。
     <adf:inputrender model="bindings.Image" />
  3. web.xml へ次のようにServlet Filterの設定を追加します。
    <filter>
        <filter-name>OrdMultipartFilter</filter-name>
        <filter-class>oracle.ord.im.OrdMultipartFilter</filter-class>
    </filter> 
    これは、既存のADFBindingFilterエントリの直後に追加できます。
  4. 同じく web.xml ファイルへFilter Mappingの設定を次のように追加します。
    <filter-mapping>
        <filter-name>OrdMultipartFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>


.cpxファイル内でData ControlのIDは一意である必要がある(3539053)

複数のビジネス・サービスにアクセスするアプリケーションを構築する場合、Data ControlのIDは、Data Control File(.cpx)内で一意である必要があります。アプリケーションの作成時にビジネス・サービスをデータ・コントロール・パレットにドラッグ&ドロップしてData Contorlが追加された場合は、自動的にIDが一意に設定されます。Data ControlのIDは、プロパティ・インスペクタで変更することもできますが、他のData ControlのIDと重複しないように注意してください。

ページ・ナビゲーション後にマルチメディア・データの再生ができない(3504300)

JSPやUIXに映像または音声データをバインドした場合、ページをナビゲーション(「Next」「Previous」などのボタンをクリック)すると、データを再生できなくなります。再び再生するには、ページを再読み込みしてください。ナビゲーションが発生するページにはコンテンツを再生するページのリンクのみを表示し、コンテンツの再生は別の画面で行うことでも回避できます。

JClientに関する問題

ADF JClientのinterMediaコントロールが使用できない

JDeveloper 10g では、ADF JClientのinterMediaコントロールがデータ・コントロール・パレットで使用できなくなりました。つまり、開発者はアプリケーションの新規作成に際して、JClientのinterMediaコントロールが使用できなくなります。ただし下位互換性を維持するために、JDeveloper 10g には、必要なinterMediaライブラリが従来どおり同梱されています。以前のリリースのOracle JDeveloperのJClientアプリケーションでinterMediaを使用しているものは、ADF JClientにアップグレードしても引き続き使用できます。

JClientアプリケーションでは、ツールチップ・テキストが使用されない(3442568)

本リリースのJClientアプリケーションでは、ADF Business Componentsのエンティティ・オブジェクト・エディタあるいはビュー・オブジェクト・エディタによってビジネス・コンポーネント属性に設定したツールチップ・テキストを表示することができません。ツールチップ・テキストはコーディングにより回避することができます。次の例は、Deptno 属性に指定されたツールチップ・テキストを表示させるためのコードです。

mDeptno.setToolTipText(panelBinding.findCtrlValueBinding("Deptno").getTooltip());

Javaビジュアル・エディタに表示されるJTableは、属性選択と同期しない(3333683)

データ・コントロール・パレットを使用して、JClientパネルやフォームにJTableコントロールをドロップすると、その表には最初、選択したコレクションの属性(列)がすべて表示されます。表の表示属性のリストを変更するには、表バインディング・エディタを使用できますが、そこで行った変更は、ビジュアル・エディタに即座に反映されません。ビジュアル・エディタとフォームまたはパネルの UIModel.xml ファイルに保存された表のバインディング情報を同期化するには、クラス・ファイルを再コンパイルするか、ビジュアル・エディタで表のサイズを変更してください。

JClientの.cpxファイルの右クリックしてもデータ・モデルを編集できない(3415590)

旧リリースでは、既存のクライアント・データ・モデル(.cpx ファイル)をナビゲータで右クリックすることでBusiness Components Data Model Definition Wizardを起動し、設定を変更することが可能でした。本リリースでは、この方法で設定を変更することはできません。.cpx ファイルの設定を変更するには、ナビゲータで .cpx ファイルを選択し、プロパティ・インスペクタを使用します。

ADF Business Componentsに設定したコントロール・ヒントがJavaビジュアル・エディタに適用されない(3405193)

エンティティ・オブジェクト・エディタやビュー・オブジェクト・エディタでビジネス・コンポーネント属性に設定した表示の幅と高さは、Javaビジュアル・エディタでコントロールをレンダリングする際には使用されません。

コレクションにバインドされたJClientのコントロールが、Javaビジュアル・エディタに表示されない(3379812)

データ・コントロール・パレットからJClientパネルやフォームに、コレクションにバインドするコントロール(表、ツリー、リスト、グラフなど)を挿入したら、そのコントロールの幅と高さは0に設定されます。両方のサイズがゼロの場合、ビジュアル・エディタでコントロールのサイズを変更することができません。サイズ変更ができるようにコントロールを表示するには、構造ウィンドウでコントロールを選択して、プロパティ・インスペクタでサイズのプロパティを編集します。

ADF Business Componentsでオブジェクト型データを使用する際の注意(3533181)

JClientおよびADF Business Componentsを使用してOracleデータベースのオブジェクト型データの属性値にアクセスする場合、そのままではテキスト・フィールドなどで表示できません。オブジェクト型データの属性値をテキスト・フィールドに表示させるためには、パネルまたはフレームの jbInit() メソッドがコールされた後で executeQuery() を明示的に実行する必要があります。次の例は、Address オブジェクトの Street 属性を表示するためのコードです。

panelBinding.findControlBinding("Street").getIteratorBinding().executeQuery();

executeQuery() メソッドは、バインドされるすべてのオブジェクト・データ属性に対して1回ずつ実行する必要があります。

JClientパネルの複数インスタンスの追加

既存のJClientパネルの再利用

既存のADF JClientパネルは、次の手順で別のJClientパネルに追加することが可能です。

  1. コンポーネント・パレットの「Swing」ページで、「Custom...」アイコンをクリックします。
  2. クラス・ブラウザで追加するJClientパネルを選択します。
  3. Javaビジュアル・エディタ上で、選択したJClientパネルを追加する領域を指定します。

oracle.jbo.JboException:35001の回避

1つのパネルに複数のJClientパネルのインスタンスが追加されている場合に oracle.jbo.JboException:35001 が発生することがあります。これは、次に示すサンプルコードによって回避することができます。

ここでは、JClientパネル MainPanel にJClientパネル EmpPanel のインスタンスが2つ追加されている場合について説明します。このケースでは、Binding Containerに BindingContainerReference をセットする必要があります。

EmpPanel.java には、次のようなメソッドを追加します。

public void createNewInstance(JUPanelBinding pb,String sViewName, EmpPanel _ep) {
  String secondPanelName = sViewName;
  pb.getBindingContext().put(
          secondPanelName, 
          new DCBindingContainerReference(
                  pb.getBindingContext(),
                  secondPanelName,
                  this.getPanelBinding().getDef().getFullName()
          )
  );
  _ep.getPanelBinding().setName(secondPanelName); 
}

MainPanel.java のコードは次のようになります。

private JUPanelBinding panelBinding = new JUPanelBinding("MainPanelUIModel");
private EmpPanel empPanel1 = new EmpPanel();
private EmpPanel empPanel2 = new EmpPanel();
...
empPanel1.setBindingContext(panelBinding.getBindingContext());
empPanel1.createNewInstance(panelBinding, "EmpView2", empPanel2);
empPanel2.setBindingContext(panelBinding.getBindingContext());
// EmpView1 is the View Object referenced by EmpPanel.java
String VoDefStr = panelBinding.getApplicationModule()
                              .findViewObject("EmpView1")
                              .getDefFullName();
panelBinding.getApplicationModule().createViewObject("EmpView2", VoDefStr);
DCIteratorBinding iter = empPanel2.getPanelBinding()
                                  .findControlBinding("EmpView1")
                                  .getIteratorBinding();
iter.bindRowSetIterator(
        iter.getDataControl().getApplicationModule().findViewObject("EmpView2"), 
        true
);
... 

JClient固有の移行情報については、「移行に関する問題」を参照してください。

TopLinkに関する問題

JDeveloperと今後リリースされるOracleAS TopLinkの併用

JDeveloperと今後リリースされるOracleAS TopLinkを併用するには、TopLinkの具体的なリリースへの依存性をすべて、プロジェクトのクラスパスに追加する必要があります。

TopLink Mapping Workbenchからのプロジェクトのインポート

次の手順を使用して、OracleAS TopLink Mapping Workbenchのプロジェクト(.mwp)を、Oracle JDeveloper 10gにインポートしてください。この手順を実行する前に、Mapping Workbenchのオリジナル・プロジェクトのバックアップ・コピーを必ず作成してください。

Mapping Workbenchのプロジェクトをインポートする手順は次のとおりです。

  1. JDeveloper TopLink対応のプロジェクトを新規作成します。
  2. このプロジェクトに、オフラインのデータベース・オブジェクトを作成します。次のメソッドのいずれかを使用して、(Mapping Workbenchのプロジェクトの \mw\table ディレクトリでの指定に従って)必要なデータベース表を作成します。

    注意: JDeveloperの表名、列名、外部キー制約がそれぞれ、Mapping Workbenchで対応する表名、フィールド名、参照名と同一であることを確認してください。この名前が同一でない場合、JDeveloperがマッピング情報を正しくインポートできないことがあります。

  3. JDeveloperのプロジェクトを閉じます。
  4. Mapping Workbenchのオリジナル・プロジェクトから、次のファイルとディレクトリをコピーします。
    Mapping Workbenchのプロジェクトからコピーする要素 JDeveloper内での配置先
    <file name>.mwp ファイル名を toplink_mappings.mwp に変更し、JDeveloperの <project name> ディレクトリに配置
    descriptor ディレクトリ <project name>/descriptor
    Javaのソース・ファイルとディレクトリ構造 <project name>/src
    EJB 2.0 CMPのプロジェクトの場合:
    • ejb-jar.xml
    <project name>/META-INF
  5. テキスト・エディタで toplink_mappings.mwp ファイルを開き、次のように変更します。
    プロジェクトの <name> 要素の変更
    プロジェクトの<name>要素を toplink_mappings に変更します。
    各データベース表の <name> 要素の変換
    <データベース表> 要素には、各データベース表が <name> 要素で列挙されます。この <name> には、カタログ、スキーマおよび表の名前が含まれる場合があります。それぞれの表を変更して、スキーマと表の名前だけが含まれるようにする必要があります。

    次の表は、いくつかの変換例を示しています。

    データベース表の
    <name>要素
    <name>要素の変換結果
    <name>Catalog.Schema.Table
    </name>
    <name>Schema.Table</name>
    <name>Schema.Table</name> 変換不要
    <name>Table</name> <name>Schema.Table</name>
  6. テキスト・エディタで各ディスクリプタの <project name>/descriptor/<descriptor name>.xml ファイルを開き、次のように変更します。
    ディスクリプタの表要素の変換
    toplink_mappings.mwp ファイルで変更したデータベース表の <name> ごとに、各ディスクリプタの <project name>/descriptor/<descriptor name>.xml ファイルにおいて、次の要素で同一の名前変更を行う必要があります。
    <field-table>
    <primary-table>
    <associated-table>
    <reference-table>
    <reference-name>
    <relation-table>
    <sequencing-policy-table>
    <source-table>
    <target-table>
  7. JDeveloperのプロジェクトを再度開き、次のいずれかの方法で、プロジェクトにソース・ファイルを追加します。
  8. EJBのプロジェクトの場合、「ファイル」「インポート」「EJBデプロイメント・ディスクリプタ・ファイル」を選択します。ウィザードを使用して、<project name>/META-INF/ejb-jar.xml ファイルと /src ファイルをインポートします。

作業ユニットではオブジェクトの主キーを変更できない(3376332)

作業ユニットではオブジェクトの主キーを変更できません。結果として例外や不正なデータの入力などの予期しない動作を引き起こします。一意キー制約を持つようなオブジェクト・インスタンスを他のインスタンスと置き換えるには、作業ユニットの setShouldPerformDeletesFirst メソッドを使用します。詳細は『OracleAS TopLinkアプリケーション開発者ガイド』を参照してください。

TopLink CMPをデプロイするにはorion-ejb-jar.xmlが必要(3492309)

TopLinkを使用したEJB 2.0 CMPをデプロイするには、orion-ejb-jar.xmlが必要です。プロジェクトにorion-ejb-jar.xmlがない場合、CMP EJBのTopLinkマッピングを初めてクリックすると、orion-ejb-jar.xmlが作成され、<entity-deployment>タグにpm-name="toplink"属性エントリが追加されます。次に例を示します。
<persistence-manager name="toplink"/>
<entity-deployment name="Address" data-source="jdbc/TopLinkDS" table="TLTUTORIAL.EJB_ADDRESS"
PM-name="toplink">

CMP EJBをクリックすると、そのCMP EJBの <entity-deployment> タグに PM-name="toplink" 属性エントリが追加されます。これは、CMP EJBのTopLinkマッピング・タブをクリックすると、永続性マネージャがTopLinkとして設定されます。orion-ejb-jar.xml のEJB CMPごとに、PM-name="toplink"属性エントリが設定されていることを確認してください。

PM-name="toplink" 属性エントリの作成は、次のようなプロセスで行うこともできます。

  1. 「新規ギャラリ」を起動し、「デプロイメント・ディスクリプタ」「orion-ejb-jar.xml」を選択して、orion-ejb-jar.xml を作成します。
  2. アプリケーション・ナビゲータで「TopLink Mappings」ノードをクリックします。
  3. 構造ウィンドウでそれぞれのCMP EJBをダブル・クリックします。この操作によりTopLink Mapping Editorが表示され、pm-name="toplink" の属性エントリが、<entity-deployment> タグに追加されます。

注意: 現在、製品版としてリリースされているOC4Jに対してEJBをデプロイする際は、orion-ejb-jar.xml に永続マネージャ(persistence-manager)の設定を行った状態でデプロイすることはできません。

テクノロジ・スコープにTopLinkが設定されたプロジェクトでクラスをマッピングする際に例外が発生する

テクノロジ・スコープにTopLinkが設定されたプロジェクトにJavaソースファイルをインポートし、構造ウィンドウでそれらをディスクリプタとして追加してマッピングを行う際に、oracle.toplink.workbench.external.meta.ExternalClassNotFoundException が発生する場合があります。マッピングを始める前にインポートしたJavaソースファイルをコンパイルすることで、この例外の発生を回避することができます。

Toplink固有の移行情報については、「移行に関する問題」を参照してください。

Webサービスに関する問題

WSDLドキュメントにはインサイトを使用できない(2954818)

WSDLドキュメントに関連したXMLスキーマはW3Cのサイトでのみ公開されており、現在はローカルファイルとしてコピーすることは許されていません。またJDeveloperでは起動時にW3Cへのネットワーク接続が可能かどうかのチェックを行うことができないため、JDeveloperにWSDLスキーマを登録することができません。これにより、本リリースのJDeveloperのXMLエディタでWSDLドキュメントを編集する場合は、コード・インサイトを使用することができません。

PL/SQL Webサービス再生成後にコンパイル・エラーが発生する(3431499)

PL/SQL Webサービスを再生成した後、コンパイル・エラーが発生する場合があります。その原因は、再生成中にいくつかのファイルがプロジェクトから削除されるためです。この問題を解決するには、次の手順でプロジェクトから削除されたファイルを手動でプロジェクトに最追加する必要があります。

これで、プロジェクトをコンパイルしてもエラーが発生しなくなります。

PL/SQL Webサービス・ウィザードでプロジェクトを変更すると、エンドポイントのコンテキスト・ルートを更新できない場合がある(3477647)

PL/SQL Webサービス・ウィザードのステップ1ではコンボ・ボックスによって作成したWebサービスを追加するプロジェクトを選択します。ウィザードのステップ3に進むと、選択したプロジェクトに設定されたコンテキスト・ルートを使用して、Webサービスのエンドポイントが自動生成されます。

ここで、ステップ1に戻って他のプロジェクトを選択してからステップ3に戻ると、Webサービスのエンドポイントの自動再生成に失敗し、エンドポイントは、最初に選択したプロジェクトのコンテキストが使用されています。この操作を行わないと、生成されたWSDLドキュメントのエンドポイントが間違ったものとなり、Webサービスにアクセスするためにスタブが生成されても、間違ったエンドポイントを指すようになります。

この問題を解消するには、次の2つの方法があります。

XMLTYPE型を使用するPL/SQL Webサービスの生成(2966028)

オブジェクト型のパラメータまたは属性として XMLTYPE を使用するPL/SQL Webサービスでは、SYS.XMLTYPE というスキーマ名を含めた形式で指定する必要があります。

JDeveloperのインストール・パスにスペースが含まれている場合に生成されたWebサービス・スタブが異常終了する(3068701)

JDeveloperをインストールしたパスのフォルダのいずれかの名前にスペースが含まれている場合(例: C:\Program Files)に、生成したWebサービスを埋込みOC4Jサーバーまたは外部のOC4Jサーバーで実行すると、そのWebサービスをコールしたときにWebサービスへのスタブが異常終了します。

対処方法として、フォルダ名にスペースが含まれていないパスにJDeveloperをインストールします。

Webサービスでは、BASE64を参照するスタブを生成できない(2920137)

Webサービス・スタブ/スケルトン・ウィザードの「Webサービス記述を選択」ページでは、http://schema.xmlsoap.org/soap/encoding/ の base64 タイプのXMLスキーマを認識できません。結果として、WSDLファイルからは、この型を参照するサービスを生成できません。

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

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

パッケージ名にハイフンを含むPL/SQLプログラムから生成されたPL/SQL Webサービス(3522618)

パッケージ名にハイフン(-)を含むPL/SQLプログラムを元にPL/SQL Webサービスを生成すると、ハイフンがJava識別子として有効な文字列ではないため、JPublisherが不正なSQLJファイルを生成します。

JDeveloperによって生成されたSQLJファイルを編集し、パッケージ名の出現部分を引用符("")で囲んでから再ビルドしてください。

WS-Iログ・ファイルの出力先(3535903)

「ツール」「設定」で起動される「設定」ダイアログの「WS-Iテスト・ツール」ページで指定するWS-Iログ・ファイルの保存先は、JDeveloperと同じシステム・ドライブにあることが必要です。別のドライブが指定された場合には、ログ・ファイルは作成されません。たとえば、JDeveloperをDドライブにインストールした場合は、WS-Iログ・ファイルの保存先もDドライブにする必要があります。

Webサービス固有の移行情報については、「移行に関する問題」を参照してください。

UIXに関する問題

挿入するコンテキスト・メニューには、UITテンプレートを使用できない(3038299)

特定の状況下では、プロジェクトの.uitテンプレートの中に、UIXページに挿入するコンテキスト・メニューに表示されないものがあります。「すべて保存」操作を行うと、プロジェクトのテンプレートがすべて使用可能になります。

UIX Imageコンポーネントのsource属性の設定(3458363)

UIX Imageコンポーネント(<ui:image> タグ)の source 属性を設定するとき、HTMLルート・ディレクトリの外に保存されているイメージ・ファイルを指定すると、JDeveloperによって自動的にHTMLルート・ディレクトリ以下にコピーされます。ただし、指定したイメージ・ファイルがJDeveloperがインストールされているドライブとは異なるドライブに保存されている場合、HTMLルート・ディレクトリへのファイルのコピーに失敗します。その場合は、手動でイメージ・ファイルをコピーしてください。

UIX XMLプレビュー・ウィンドウ

本リリースのUIX XMLページのプレビュー・ウィンドウでは、ADF Data Controlにバインドされた動的データを表示することはできません。

UIXビジュアル・エディタで自動リフレッシュを行うページを表示する際の問題(3597690)

UIX XMLページがUIXビジュアル・エディタで開いた後で、UIXビジュアル・エディタが 真っ白になり、java.lang.NullPointerExceptionが発生することがあります。 この問題は、次の例のように<HEAD>タグの内部で<META>タグを使用し、自動リフレッシュを 行っている場合に発生します。

<html:meta http-equiv="refresh" content="3"/>

この問題を回避するには、UIXページの開発中はタグの部分をコメントアウトしてください。上の例の場合は次のようになります。 アプリケーションをデプロイし実行するには、コメントを外して元に戻してください。

<--<html:meta http-equiv="refresh" content="3"/>-->

UIX固有の移行情報については、「移行に関する問題」を参照してください。

XML Schemaエディタの制限

本リリースでは、XML Schemaエディタに次のような制限があります。

Annotation(注釈)

XML Schemaエディタでは、ダイアグラム上の要素や複合型などのモデルにマウスポイントを合わせることで設定されているAnnotationがツールチップで表示されます。さらに、モデルの右クリック・メニューから「注釈の編集」を選択することでAnnotationの編集が可能です。ただし、本リリースのXMLスキーマ・ダイアグラムでは、最初のdocumentation要素の表示/編集のみをサポートしています。追加のdocumentation要素およびappInfo要素などの情報を編集/表示するには、XMLエディタを使用してください。

属性

XML Schemaエディタを使用して、複合型や要素の属性を設定することができますが、属性の型の参照および設定はプロパティ・インスペクタを使用してください。

ファセット

XML Schemaエディタを使用して単純型の定義およびファセットの設定が可能です。本リリースでは、プリミティブ・データ型に対してもファセットの設定が可能ですが、有効ではありません。例えば、string型に対してmaxDigitsを設定することができてしまいますが、この設定は無効です。

Identity Constraints(一意制約)

本リリースのXML Schemaダイアグラムはkey、key、keyrefおよびunique要素をサポートしていません。これらは、構造ペインやプロパティ・インスペクタ、XMLエディタを使用して設定してください。

要素の再定義

本リリースのXML Schemaダイアグラムは、XML Schemaダイアグラムは要素の再定義には対応していません。要素の再定義には、構造ペインやプロパティ・インスペクタ、XMLエディタを使用してください。

Substitution Groups

本リリースのXML SchemaダイアグラムはSubstitution groupsの表示には対応していませんが、プロパティ・インスペクタを使用して設定することが可能です。

イメージ・ファイルへの書き出しと印刷

本リリースのXML Schemaダイアグラムは、イメージ・ファイルへの書き出しや印刷ができません。

モデル化に関する問題

UMLダイアグラム要素のディスクからの削除(3421852)

ダイアグラムでモデル化されているクラスやインタフェースがあり、「ディスクから削除」を使用して、ナビゲータからそのクラスやインタフェースを削除しても、ダイアグラムには表示されたままになることがあります。この現象が発生するのは、クラスやインタフェースを作成後に保存してからJDeveloperを終了し、JDeveloperの次回起動時に、ナビゲータからクラスやインタフェースを削除したときです。この場合は、モデル化されたクラスやインタフェースを、ダイアグラムから手動で削除してください。

モデル化されたEJBのディスクからの削除(3100651)

ダイアグラムによりモデル化されたEJBを削除するために次のような操作を行った場合、EJBにダイアグラムが表示されたままになります。

モデル化されたEJBを削除するには、EJBを削除する前にダイアグラムを閉じてから、ナビゲータで削除するEJBを右クリックして、コンテキスト・メニューから「ディスクから削除」を選択します。

ダイアグラムにはページが自動的に追加されない(3269851)

ダイアグラムの操作によっては、既存のダイアグラム・ページの外側に要素が配置されることがありますが、その図形を表示するページは新たに追加されない場合があります。その場合は、ダイアグラムを保存した後で閉じてます。再びダイアグラムを開くと新たなページが追加され、すべての要素が表示されるようになります。

制約が定義された要素の削除(3431254)

制約が定義された要素を、制約を削除する前にディスクから削除すると、ダイアグラムのコンテキスト・メニュー「ダイアグラムに追加」を実行すると起動される「ダイアグラムに追加」ダイアログで「Constraints」ノードを展開することができなくなります。

モデル化されたJavaクラスのリファクタリング(3495725)

「ツール」「リファクタ」で、ダイアグラムのJavaクラスの名前をパッケージ名に変更すると(例、mypackage1.JavaClass1 から mypackage1 への変更)、ダイアグラムの別のクラスをモデル化しようとしたときにエラーが表示されます。このエラーが発生しないようにするには、モデル化されたクラスを、パッケージ名と同じ名前に変更しないでください。

既存ダイアグラムをプロジェクトに追加する際の注意(3567977)

異なるプロジェクトで作成したUMLクラス・ダイアグラムなどのダイアグラムをプロジェクトに追加する際に「プロジェクトに追加できません」というタイトルのダイアログが表示され、次のようなメッセージが表示されることがあります。

モデル・ファイル<ダイアグラム・ファイルのパス>は、このプロジェクトのモデル・パスにすでに存在しています。

このメッセージ・ダイアグラムが表示された場合は、「了解」をクリックするとダイアグラムがプロジェクトに追加されます。

チーム・ベースの開発に関する問題

CVS: NT PSERVER接続の作成時の注意(3075917)

Windows環境にインストールされたCVSサーバーに対するNT PSERVER接続を定義する時にリポジトリ・ルートを指定する場合、書式に注意が必要です。例えば、リポジトリ・ルートが D:\cvsrep の場合、次のいずれかの書式で指定する必要があります。

CVS: Strutsページ・フロー図を含むプロジェクトにおけるCVSの使用方法(3514183)

Strutsページ・フロー図とデータ・ページを作成すると、standard.jar ファイルがプロジェクトに追加されます。「モジュールのインポート」ウィザードを使用してCVSにプロジェクトをインポートする前に、CVSROOTモジュールで cvswrappers ファイルを編集して、CVSリポジトリがすべての .jar ファイルを、テキストでなくバイナリとして扱うように設定してください。この作業は次の手順で行います。

  1. CVSROOTモジュールをチェックアウトします。
  2. ファイル名に基づいてフィルタリング動作を指定するcvswrappersファイルを編集して、次の行を追加します。
    *Jar -k 'b'
    *Jar -m COPY
  3. ファイルをコミットします。

CVS: ローカル・リポジトリにアクセスする場合にもCVSサーバーのインストールが必要(3375219)

接続ナビゲータでローカル・リポジトリに対して定義されたCVSローカルのノードを開いた場合に、CVSサーバーがインストールされていないとJDeveloperがハングしてしまいます。JDeveloperからローカル・リポジトリにアクセスする場合には、CVSサーバーもインストールしてください。

WebDAV: Oracle9i ASサーバーへのWebDAV接続(2624464)

Oracle9i ASサーバーへのWebDAV接続でファイルをロック解除する場合、JDeveloperを使用してそのファイルをロック解除することはできません。

UNIX固有の問題

全般: ADFエンティティ・オブジェクトに対するJAAS認証

Linux、SolarisなどのUNIXプラットフォームでは、ADFエンティティ・オブジェクトに対してJAAS認証を利用する前に、JDeveloperを実行しているユーザーが、ファイル jazn-data.xml に対する書込みの権限を有していることを確認してください。

Solaris 8: Chart Data Web Beanを使用したアプリケーションのOC4Jでの実行(2471361)

Solaris 8上のOC4JにChart DataWebBeanを使用したJSPアプリケーションをデプロイすると、java.lang.NoClassDefFoundError が発生することがあります。これは、サーバー側でXServerが起動していないか、リモートのワークステーション側の DISPLAY 環境変数が正しく設定されていないためです。この問題は次の手順で対処してください。

  1. Sunサーバー・マシンでXtermプロセスが実行中であることを確認します。次のコマンドを実行します。
    ps -ef | grep Xsun
    このコマンドによって結果が返されたら、Xtermプロセスが機能しています。結果が返されなかったら、サーバーでXtermを起動してください
  2. 次のコマンドをワークステーション側でrootユーザーで実行し、XServerに接続します。
    xhost +
  3. XServerに接続したワークステーションからUNIXサーバーに対して別のセッションを開き、telnetなどでOC4Jを起動します。

この手順は、サーバーまたはワークステーションが再起動されるたびに必要です。

Linux: OJVMのインストール

OJVMはHotSpotと互換性のあるJVMで、JDeveloperで高度なデバッグ機能やプロファイラ、コードアドバイス機能(CodeCoach)などが使用できるようになります。JDeveloper 10g ではこれかで提供してきたWindows用のOJVMに加えて、Linux用のOJVMが提供されます

JDeveloperをインストールすると、Linux用のOJVMが提供されます。Linuxでは、rootユーザーで次のコマンドを使用してOJVMをインストールできます。

cd <JDev_Install>/ojvm_linux_x86
sh installOJVM <J2SE_ Install>

OJVMが正しくインストールされていることを確認するには、次のコマンドを実行します。

<J2SE_ Install>/bin/java -ojvm -version

備考: <JDev_Install> はJDeveloperのインストール・ディレクトリ、<J2SE_ Install> はJ2SEのインストールディレクトリへのフルパスを表しています。

注意: オラクル社ではLinux用OJVMをサポートしていません。

Linux: コマンドラインからのCodeCoachの実行

LinuxシェルでのCodeCoach起動は、セミコロン(';')を誤って解析することによって、失敗する可能性があります。Linuxシェルはセミコロンをコマンド・セパレータと解釈しますが、CodeCoachオプションの中には、(-Xcc:incl:<packagelist>-Xcc:excl:<packagelist> のように)セミコロンをリスト・セパレータとして使用するものもあります。

このようなオプションは、二重引用符で囲みます。たとえば、次のように設定します。

<J2SE_ Install>/bin/java -ojvm -Xcodecoach -Xcc:new -Xcc:level:4
    -Xcc:disable:ALL -Xcc:enable:ALL
    "-Xcc:excl:com;java;javax;sun;sunw;org;oracle" -classpath
    /home/fred/JDev9.0.5/jdev/mywork/Workspace1/Project2/classes:
    /home/fred/JDev9.0.5/jdev/lib/jdev-rt.jar mypackage2.Application1

備考: <J2SE_ Install> はJ2SEのインストールディレクトリへのフルパスを表しています。

Linux: コンポーネント・パレットからドラッグ&ドロップで追加されたダイアグラム要素の名前に関する注意(3456955)

Linux上でJDeveloperを使用している場合、コンポーネント・パレットからダイアグラム(Javaクラス・ダイアグラムやEJBダイアグラムなど)にドラッグ&ドロップで追加された要素は、デフォルトの名前で確定してしまいます。この問題を回避するには、ドラッグ&ドロップではなく、コンポーネント・パレットで要素を表すアイコンを選択してからダイアグラムをクリックしてください。

United Linux 1.0: Javaクラス・ダイアグラム作成時の注意(3517195)

Javaクラス・ダイアグラムでJavaクラスを追加すると次のようなダイアログが表示されることがあります。

エラーが発生しました。処理を続行できません。

このダイアログで「OK」をクリックすると、ダイアグラムから追加した要素が消えてしまいます。Javaのソース・ファイルが生成され、アプリケーション・ナビゲータに表示されていますが、ファイルを開くと空になっています。この問題が発生した場合は、操作をやり直すことで、ダイアグラムおよびソース・ファイルは正しく生成されます。

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

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

その他の問題

WEB-INF/libのjarに未使用のTLDがあると、JSPのメイク/実行ができない(3421004)

JSPアプリケーションをコンパイルまたは実行する際に、次のようなエラー・メッセージが表示されることがあります。

Error(1): java.lang.ClassNotFoundException: 
Error(1): タグ・ハンドラ・クラス...がロードできません 

このエラーは、WEB-INF/lib ディレクトリにJSPページで使用していないタグ・ライブラリのTLDファイルが含まれていて、その実装クラスを含むライブラリがクラスパスにない場合に発生します。このエラーは、次のいずれかの方法で解消できます。

備考: <HTML_Root> はプロジェクトのHTMLルート・ディレクトリへのフルパスを表しています。

JDeveloperの埋め込みブラウザの文字化けの解消(2670389)

JDeveloperでHTMLやJSPのプレビュー、Javadocの参照時に使用する埋め込みブラウザは、HTMLソースでのフォントの指定の方法によって、マルチバイト文字が正しく表示されないことがあります。

たとえば、次のようなHTMLは、マルチバイト文字が正しく表示できません。

<font style="font-family: Arial, Helvetica, sans-serif">マルチバイト文字</font>

この問題は、<JDev_Install>/jdev/bin/jdev.conf で、次の行のコメントを外すことで解消されます。

AddVMOption -Dice.pilots.html4.ignoreNonGenericFonts=true

備考: <JDev_Install> はJDeveloperのインストール・ディレクトリへのフルパスを表しています。

JSP/HTMLエディタでエンコーディングを正しく認識できないことがある(3313918)

JDeveloperのJSP/HTMLエディタは、<HEAD> タグ内に記述された

<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=***"/>

を元に自動的にファイルのエンコーディングを認識しています。ただし、エンコーディングを指定する <meta> タグがファイルの先頭から2000byte以内に記述されていないと、エンコーディングを認識できないことがあります。JSP/HTMLエディタがエンコーディングを誤認識している場合は、<meta> タグが記述されている位置を確認してみてください。

JSP、UIX、XML各ドキュメントのソースの表示(3270976)

アプリケーション・ナビゲータまたはシステム・ナビゲータで、ノード上で[Enter]キーを押すと、そのファイルに対してビジュアル・エディタが起動します。ビジュアル・エディタでなくコード・エディタでファイルを表示するなど、ドキュメントに対して他に使用できるエディタに切り替えるには、[Alt]を押しながら[Page Up]または[Page Down]を押します。すべてのエディタは、「ウィンドウ」「移動先」「右のエディタ」および「ウィンドウ」「移動先」「左のエディタ」というメニュー・コマンドをサポートしています。

構造ペインでタブの切替え(3443188)

構造ウィンドウのタブをキーボード操作で切り替えるには、[Tab]を押して構造ツリーからタブ・ヘッダーにフォーカスを移動します。次に、[Alt]を押しながら、[→]または[←]を押します。

Netscape 4.79では常にボタンを使用できる

データ・コントロール・パレットからドラッグ&ドロップで「Next」「Previous」「NextSet」「PreviousSet」「Commit」「Rollback」などのボタンを追加した場合、Internet Explorerなどで実行した場合はアプリケーションのステータスに応じて使用可能/不可能が自動的に切り替わります。例えば、ユーザーがデータの更新処理を行うまでの間は、「Commit」および「Rollback」ボタンは使用不可になります。

しかし、Netscape 4.79ではこれらのボタンは常に使用可能です。

ファイル・パスにプラス記号(+)が含まれるとコンパイル・エラーが発生(3226541)

ファイル・パスにプラス記号(+)が入っていると、コンパイル・エラーが発生する可能性があります。

オフライン・データベースの操作

データベースからのインポートおよびデータベースへの生成は、Oracle以外のデータベースに対しては保証されていません。

XMLドキュメントが無効のときは、プロパティ・インスペクタにプロパティが表示されない(3272142)

XMLドキュメントに構文エラーがある状態で、構造ペイン上で選択している要素を変更すると、プロパティ・インスペクタには属性が表示されません。この問題に対処するには、プロパティ・インスペクタで編集する前に、XMLドキュメントの構文エラーを修正してください。

JavaServer Faces(JSF)による開発

JDeveloper 10g では、JavaServer Faces(JSF)による開発ができます。ただし、JDeveloper 10g にはJSFがまだバンドルされていないため、JSF 1.0をダウンロードして設定する必要があります。詳細は、OTN-JのJDeveloperの製品ページ(http://otn.oracle.co.jp/products/jdev/)で公開されている『JDeveloper 10g でのJavaServer Facesの設定』を参照してください。

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 © 2004, Oracle Corporation.All Rights Reserved.