Oracle® JDeveloper 10g

リリース・ノート

リリース10.1.2

部品番号: B15845-01

2005年1月

目次

概要

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

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

Oracle JDeveloperには、開発環境への機能追加とカスタマイズを行うためのExtension SDKが付属しています。Oracle JDeveloperの詳細および最新の情報については、OTN(Oracle Technology Network)にあるJDeveloperのホームページ(http://otn.oracle.co.jp/products/jdev)を参照してください。また、「Oracle JDeveloper 10g Release Notes Addendum」では、このドキュメントの作成時には明らかになっていなかった最新情報が得られます。

JDeveloper 10.1.2の新機能

JDeveloper 10.1.2は、主にメンテナンス・リリースですが、新機能もいくつか追加されています。

オフライン・データベース・オブジェクト

オフライン・データベース・オブジェクトのインポート・ウィザードでは、スキーマの選択が最後の手順となりました。これは、TopLinkプロジェクトのオンライン・スキーマ名をスキーマのデフォルトに設定できるようにするためです。

Strutsページ・フロー・ダイアグラム

ビジネス・コンポーネント・ウィザードでの改善点

Fast Lane Readerデザイン・パターンの実装が簡単にできるように、ビジネス・コンポーネント・ウィザードとビュー・オブジェクト・ウィザードが更新されました。新しいビュー・オブジェクトを作成する際に、読取り専用のSQL問合せによって移入されたデータを持つビュー・オブジェクトを作成できるようになりました。このモデルでは、すべてのデータがビュー・キャッシュに格納されるため、問合せが繰り返される場合にパフォーマンスが非常に向上します。

ADFビジネス・コンポーネントのパフォーマンスの改善

このリリースでは、ADFビジネス・コンポーネントのパフォーマンスが大幅に向上しています。コードやアーキテクチャに対して変更を加える必要はありません。このリリースを使用してアプリケーションを再コンパイルし、デプロイして実行するだけです。使用するアプリケーションのタイプによっては、パフォーマンスが30%も改善される場合があります。


データ・バインディング

Bug #3077519「BLANK NEW ROW PROBLEM IS BACK FOR WEB APPS」が修正されたため、データ・バインディングの設計時が多少変わりました。JDeveloper 9.0.5のこの不具合では、ユーザーがボタンをクリックして空白のフォームに新しい行を追加した後、ブラウザの「戻る」ボタンをクリックして参照フォームに戻ると、空白行が参照フォームに挿入されます。

ADFビジネス・コンポーネントにバインドされているWebページの場合、この動作は変更されました。つまり、デフォルトで、ユーザーが「戻る」ボタンをクリックしても、空白行は表示されません。以前の動作がページで必要な場合は、次の手順を実行します。

埋込みOC4J

JDeveloper 10.1.2には、埋込みOC4Jバージョン10.1.2が組み込まれています。OC4J 10.1.2の拡張機能および不具合の修正については、OC4Jのリリース・ノートを参照してください。

JDBCドライバ

JDeveloper 10.1.2には、Oracle Application Server 10.1.2付属のOracle JDBCドライバが含まれています。

Oracle Application Server 10.1.2のADFランタイム

Oracle Application Server 10.1.2には、Oracle ADFランタイム・ライブラリが組み込まれています。つまり、ADFアプリケーションをOracle Application Server 10.1.2にデプロイする場合、ADF Runtime Installerを実行してADFライブラリをアプリケーション・サーバーにインストールする必要はありません。

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

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

アクティビティ・モデリング

E-Business統合(データベース、アドバンスト・キューイング(AQ)、Oracle Workflowとの連携)のためのアクティビティ・モデリングの機能は、本リリースではサポートされません。つまり、「生成」→「E-Business統合」を選択してコードを生成する機能はサポートされません。

ソース・コントロール・サポート

「ツール」→「設定」→「ソース・コントロール」で設定可能なソース・コントロール・テクノロジとしてRational ClearCaseはサポートされません。

移行に関する問題

JDeveloper 9.0.3 PL/SQL Webサービスの再生成時にコンパイル・エラーが発生する(3023311)

JDeveloper 9.0.3のプロジェクトを開いて、そのプロジェクトの中のPL/SQL Webサービスを再生成しようとすると、それ以降はコンパイルできない状態になります。

対処方法:

移行されたWebサービスを再生成すると、デプロイメント・プロファイルが不完全になる場合がある(3506154)

以前のリリースのJDeveloperから移行されたWebサービスを再生成したとき、再生成されたインタフェースがデプロイメント・プロファイルから欠落することがあり、その結果、デプロイされたWebサービスにアクセスできなくなります。

対処方法:

WS-Iテスト・ツールの場所を再入力する必要がある(3535897)

JDeveloper 10g Previewからユーザー設定を移行する場合に、WS-Iテスト・ツールの場所は正しいように見えますが、アナライザのコードが正しく機能するために必要な非表示のフィールドにデータを入力するには、ツールの場所をもう一度入力する必要があります。

ツール 」→「設定」を選択し、「WS-Iテスト・ツール」を選択します。フォルダを参照するか場所をキー入力して、テスト・ツールのホームの場所を再入力します。

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

Oracle9i JDeveloperなどのツールで作成されたStrutsアプリケーションは、Oracle JDeveloper 10g Productionリリースへの移行後に、正しくコンパイルされないことがあります。

Strutsアプリケーションが、JDeveloper 10gへの移行後に正しくコンパイルされなくなった場合、その原因としては、移行プロセスによってWEB-INF/libディレクトリからstruts.jarファイルが誤って削除されたことが考えられます。

移行後のStrutsコンパイル・エラーを解決する方法は次のとおりです。

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

JDeveloper 10gの新しいADFイテレータ・バインディングを使用すると、バインド先のイテレータは行セットの最初の行に進みます。これは、その行の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;
}

この問題を解決するには、次の2つの基本的な方法があります。

  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;
  }
}

もう1つは次のようになります。

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;
}

bc4jhtml.jarを使用するプロジェクトの移行

ADF BCランタイム・アーカイブbc4jhtml.jarは、JDeveloperの今回のリリースで分割されています。移行後のプロジェクトでbc4jhtml.jarを使用する場合は、クラスパスを更新し、<JDev_Install>/BC4J/jlib/bc4jhtml.jarおよび<JDev_Install>/BC4J/lib/adfmweb.jarが含まれるように設定します。

Java Web StartおよびJNLPを使用しているJClientプロジェクトの移行

JClientアプリケーションをJava Web Startとして実行する場合、JDeveloper 9.0.5.3以前のbc4jlibs.earファイルにはjndi.jarが含まれています。JDeveloper 10.1.2以降、このJARファイルは不要です(このファイルは、現在では標準のJDK 1.4拡張機能として利用可能)。このjndi.jarファイルは、9.0.5.x JClientアプリケーションを10.1.2に移行する際、bc4jlibs.earファイルから削除する必要があります。

JClientのカスタム・エラー・ハンドラ・ダイアログの移行

JClientベースのアプリケーションを9.0.3/9.0.4からJDeveloper 10g(9.0.5または10.1.2)にアップグレードする際、oracle.jbo.uicli.controls.JUErrorHandlerDlgの拡張ではないカスタム・エラー・ダイアログがアプリケーションにある場合は、そのカスタム・エラー・ハンドラ・ダイアログで新しいoracle.adf.model.binding.DCErrorHandler インタフェースを実装する必要があります。これは、oracle.jbo.uicli.binding.JUErrorHandlerインタフェースの実装クラスに用意されているreportException()メソッドに委任するという方法でも実現できます。

EJB: OC4J 9.0.xネイティブCMPマッピングの移行

OC4Jネイティブ(TopLinkではない)CMPマッピングを使用するCMP Entity Beanが含まれるEJBアプリケーションを移行する場合、ユーザーは次の操作を実行しないと、アプリケーションを10.1.x OC4Jサーバーに再デプロイできません。

  1. CMP Entity Beanを選択し、JDeveloperのナビゲータでそのEJBノードを右クリックした後、「CMPマッピングの編集」を選択します(注意: このメニュー項目は、OC4JネイティブCMPマッピングを使用してCMP Entity Beanがマッピングされている場合にのみ表示されます。該当するコンテキスト・メニュー項目が表示されない場合は、OC4Jネイティブ・マッピングを使用してEntity Beanがマッピングされていないため、移行手順を実行する必要はありません)。
  2. CMPマッピング・エディタが開いたら、「CMPフィールドのマッピング」ツリー・ノードを選択し、「関連マッピング」タブをクリックして、CMP Entity Beanが関与しているそれぞれの関連にアクセスします。該当するパネルにアクセスするだけで、そのパネルの終了時に新しいデータが保存されます。
  3. CMPマッピング・エディタで、EJBモジュール内のCMP Entity Beanごとにこのプロセスを繰り返します。終了したら、「OK」を選択してマッピング・エディタを終了し、変更内容を適用します。

これらの手順を実行すると、EJBモジュールはOC4J 10.xサーバーにデプロイできる状態になります。

Oracle9i JDeveloper 9.0.4からWebアプリケーションを移行する際の問題点(3672145)

JDeveloperリリース9.0.4から移行したWebアプリケーションをコンパイルしようとすると、次のエラーが発生する場合があります。

/WEB-INF/ojsp-global-include.xml:oracle.xml.parser.v2.XMLParseException: Unexpected text in content of Element 'ojsp-global-include'

この問題を解決するには、/WEB-INF/ojsp-global-include.xmlファイルを編集し、次の要素を

<?xml version="1.0" standalone='yes' ?>

次のように変更します。

<?xml version="1.0" standalone='no' ?>

9.0.5から10.1.2に移行する際に移行ダイアログが表示される場合がある(3797912)

アプリケーションをOracle JDeveloper 10gリリース9.0.5からリリース10.1.2に移行する場合、これらのリリース間でテクノロジ・スタックが変更されていない場合でも、移行ダイアログが開く場合があります。このダイアログは、無視しても問題ありません。

異なる動作をするOracleスタイル・バインド・パラメータ(3848733)

リリース9.0.5.3以前のOracle JDeveloperに含まれるバージョンのJDBCでは、Oracleスタイルのバインド・パラメータに対する厳密なエラー・チェックがサポートされていません。そのため、次のように同名のバインド・パラメータが複数含まれる式が許可されていました。

WHERE SALARY > :1 AND DEPARTMENT = :2 AND MANAGER_ID = :1

前述の式の第1パラメータおよび第3パラメータは":1"という名前になっていますが、これは以前のバージョンのJDBCでは検出されなかったエラーです。

以前のバージョンのJDBCでは、パラメータ名のコロンと数値部分の間のスペースに関するエラーも検出されませんでした。": 1"(スペースあり)は、有効なOracleスタイルのバインド・パラメータではありませんが、以前のバージョンのJDBCではエラーとして検出されませんでした。

Oracle JDeveloper 10g(リリース10.1.2)に組み込まれているバージョンのJDBCでは、厳密なエラー・チェックがサポートされており、where句や、パラメータにスペースが含まれる前述のような式に対しては例外がスローされます。以前のバージョンのJDeveloperからアプリケーションを移行する場合、一意でないOracleスタイルのJDBCバインド・パラメータを持つ式がそのアプリケーションに含まれているのであれば、その式内で一意になるようにパラメータ名を変更する必要があります。たとえば、前述の式は、次のように書き換えることができます。

WHERE SALARY > :1 AND DEPARTMENT = :2 AND MANAGER_ID = :3

また、バインド・パラメータ名にスペースを含めず、ViewObject.setWhereClauseParam()およびViewObject.setWhereClauseParams()に対するコールを変更してすべてのパラメータ値を与えるようにする必要があります。たとえば、前述のWHERE句を持つビュー・オブジェクトの定義の場合、次の命令は

setWhereClauseParams(new Object[]
{
  value1,
  value2
}

次のように書き換えます。

setWhereClauseParams(new Object[]
{
  value1,
  value2,
  value1
}

Oracle10g JDeveloperリリース10.1.2へのEJB CMR関連の移行(3667211)

以前のリリースからリリース10.1.2に移行する場合、CMP EJB Entity BeanがCMR関連を持つときは、それらの関連を更新する必要があります。各関連は、CMPマッピング・エディタで選択するだけで、JDeveloperによって自動的に適宜更新されます。

移行後の9.0.x UIX/BC4J/JSPアプリケーションでは、UIXのリソースとスタイルが使用できない(3365125)

9.0.x UIX/BC4J/JSPのアプリケーション・プロジェクト全体をJDeveloper 10g に移行して、そのアプリケーションを実行した場合、UIXのリソースとスタイルは実行時に表示されません。これは、移行プロセスでは、製品の以前のリリースに関連するオブジェクトとファイルが削除されるのみで、新しいリソースが追加されないためです。

対処方法:

  1. アプリケーションを移行します。
  2. 9.0.xアプリケーションのモデル・プロジェクトとビュー・プロジェクトを再ビルドして、最新のUIXのリソースとスタイルを追加します。

デプロイに関する問題

XSQLページの実行(1552039)

XSQL Page Processorは展開されていないWARファイル内のXSQLページを読み込めません。そのため、XSQLページは、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で置き換えます。

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

WebLogic6.1は、XMLファイルのWindows-1252エンコーディングを認識できません。これは、WebLogic6.1のxmlparserの不具合です。JDeveloperのアプリケーションをWebLogic6.1にデプロイするには、WebLogic6.1が認識するIANAエンコーディングにエンコーディングを変更します。UTF-8エンコーディングの使用をお薦めします。日本語ユーザーはShift_JISWindows-31jを使用することもできます。たとえば、UTF-8エンコーディングを使用するには次のようにします。
  1. ツール」→「設定」を選択します。
  2. 環境」パネルで「エンコーディング」フィールドを「UTF-8」に変更します。
  3. 「OK」をクリックします。
ここで、新規プロジェクトとアプリケーションを作成します。

Bean型がリモートからローカルに変更された場合にweb.xmlの<ejb-ref>が更新されない(2589997)

BC4JセッションFacade結果に対して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)

WebLogicへのUIXアプリケーションのデプロイに関するドキュメントに加えて、次に示す詳細情報を参考にしてください。

  1. EAR/WARアーカイブ・ファイルを抽出するときに、アーカイブ・コンテンツのターゲット・ディレクトリは、アーカイブと同じ名前に指定する必要があります。たとえば、抽出するファイルがwebapp1.earで、この中にwebapp1.warが含まれている場合は、/webapp1(EARコンテンツ)/webapp1/(WARコンテンツ)という構造がディスクに必要です。
  2. アーカイブを抽出した後で、WARファイルを指すかわりに展開後のディレクトリを指すように、EARファイル内のapplication.xmlを編集する必要があります。
  3. アプリケーションには抽出後のファイルのみが残るように、EARファイルおよびWARファイルは、展開した後に削除する必要があります。

orion-ejb-jar.xml内での永続性マネージャの構成がOracle Application Server 10.1.2でサポートされない

コンテナ管理の永続性(CMP)Entity BeanをJDeveloper 10.1.2からOracle Application Server 10.1.2およびそれ以前のバージョンにデプロイする場合は、orion-ejb-jar.xml内の永続性マネージャの設定を再構成することはできません。これらの設定からは、デプロイ・エラーが発生します。

ADFアプリケーションを起動するとWebSphere 5.1で例外が発生する(3590864)

EARをWebSphere 5.1にデプロイした後、ADF JSPアプリケーションを起動すると、そのアプリケーションが異常終了し、次のような例外がアプリケーション・サーバー・ログに書き込まれる場合があります。

Exception:
AppDeploymentException: [ADMA0092E: Unexpected exception occurred while preparing task MapRunAsRolesToUsers. Please check server machines FFDC for more information.]
AppDeploymentException: []
com.ibm.etools.archive.exception.DeploymentDescriptorLoadException:
WEB-INF/web.xml
AppDeploymentException: []
com.ibm.etools.archive.exception.DeploymentDescriptorLoadException:
WEB-INF/web.xml
com.ibm.etools.archive.exception.DeploymentDescriptorLoadException:
WEB-INF/web.xml

この例外を修正するには、アプリケーションのweb.xmlファイルから次の<filter-mapping>属性を削除します。

<filter-mapping>
<filter-name>ADFBinding Filter</filter-name>
<servlet-name>jsp</servlet-name>
</filter-mapping>

ADF DataAction for Strutsに関する既知の問題

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

ADFベースのStruts Webアプリケーションで、データ・コントロールに対してDataActionを使用して、宣言的にメソッドを実行できます。このようなケースでは、メソッド実行のための専用のバインディング・コンテナを持つDataActionを作成し、そのDataActionから、メソッド結果のレンダリングを実行するDataActionまたはDataPageに転送することをお薦めします。

ADF Business Components関する問題

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

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

WebLogic 8.xでADF JSPアプリケーションを実行するとメソッドがないというエラー・メッセージが表示される(3739767)

WebLogic 8.xでADF JSPアプリケーションを実行すると、次のようなエラー・メッセージが表示されます。

java.lang.NoSuchMethodError:
javax.xml.namespace.QName.(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

このエラー・メッセージが表示されないようにするには、アプリケーションを実行する前に、WebLogicサーバーのクラスパスに次の項目を追加します。

xmlparserv2.jar
adfmweb.jar

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

バッチ・モードで実行するときは、ADFビュー・オブジェクトのカスタム・インタフェースを利用するクライアント・サイド・コードもバッチ・モードで実行する必要があります。そのためには、次の手順が必要です。

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

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

LDAPを使用した認証はスタンドアロンOC4Jで機能しない(3903758)

スタンドアロンOC4J(完全なOracle Application Serverのインストールではない)を使用してADF Business Componentsを実行する場合、LDAPを使用して認証または認可のためのID管理を行えません。LDAPを使用してID管理を行うアプリケーションには、次の2つの条件があります。

* アプリケーションをスタンドアロンOC4Jではなく、Oracle Application Serverの完全なインストールにデプロイする必要があります。
* LDAPを使用してID管理を行う場合は、JDeveloperでエンティティごとの認証を定義できません。これはスタンドアロンOC4JではLDAP認証がサポートされないためです。

この問題は、次のリリースのJDeveloperで修正される予定です。

ADF UIXに関する問題

サード・パーティ製のポップアップ・ブロッカおよびツールバーがADF UIXを妨害することがある(2900583)

一部のADF UIXコンポーネント(日付の選択、値リストなど)では、外部のポップアップ・ウィンドウを使用して別のページに移動しなくても値を選択できるようになっています。しかし、サード・パーティのツールバーの中には、これらのウィンドウの使用を許可せず、通常のHTMLのように元のページに戻って対話できないものがあります。現時点でのこの問題の対処方法としては、UIXコンテンツがあるサイトに対して、ポップアップ・ブロッキングを無効にします。

JavaScriptを圧縮すると、ADF UIXに問題が発生する

Microsoft Internet Explorerの不具合により、UIXをホストしているサーバーでパフォーマンスを最適化するオプションとしてJavaScriptファイルの圧縮を有効にしている場合、ADF UIXがJavaScriptライブラリをロードするルーチンが正常に機能しない場合があります。ADF UIXではこの最適化はデフォルトで実行されておらず、一部のサーブレット・コンテナやOracleのWeb Cacheテクノロジでは追加設定できます。この問題を回避するには、UIXアプリケーションによってロードされるJavaScriptライブラリを圧縮しないようにしてください。

この問題は、他のブラウザには影響しません。

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

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

UIXイメージが他のドライブにある場合、そのイメージ・コンポーネントのソース属性は設定できない(3458363)

UIXイメージ・コンポーネントのソース属性を設定するとき、選択したイメージがhtml_rootディレクトリの外にあり、JDeveloperがインストールされているドライブとは異なるドライブにある場合、html_rootにファイルをコピーしようとしても失敗します。対処方法として、ファイル・システム内のイメージを手動で移動/コピーします。

uiXMLプレビューでの稼働中のデータ

このリリースでは、ADFデータ・コントロールを使用してバインドされたページについて、uiXMLプレビューは稼働中のデータ表示をサポートしていません。

Apache Strutsの制限事項

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

このリリースのStrutsページ・フロー・ダイアグラムは、1つのワークスペース・プロジェクトでサポートできるStrutsダイアグラムは1つだけです。複数のStruts構成ファイルは、個々のプロジェクトに振り分けてください。複数構成のStrutsアプリケーションを扱う方法を詳細に記述したドキュメントは、OTNのJDeveloper製品ページ(http://otn.oracle.co.jp/products/jdev/)で入手できます。

Tileベースのアプリケーションは、一部しかサポートされない

JDeveloper 10gでは、TileベースのStrutsアプリケーションが可能ですが、ページ・フロー・ダイアグラムを使用することはできません。Struts構成ファイルの直接編集、Strutsコンソール・エディタ、および構造ペインとプロパティ・インスペクタは、Tileベースのアプリケーションを開発するときにもすべて使用できます。

web.xmlの<welcome-file>エントリ(3423938)

ページ・フロー・ダイアグラムのコンテキスト・メニューを使用して、Strutsページ・フローのデフォルトのスタート・アクションとして特定のアクションを定義すると、指定されたアクションがデフォルトの実行ターゲットとなるように、プロジェクトのプロパティが更新されます。さらに、最初のアクションがフォワード・アクションの場合は、web.xmlの<welcome-file-list>セクションが更新され、指定されたページに対応する<welcome-file>エントリが追加されます。場合によっては、web.xmlのこのエントリを修正して、フォワード先のページではなく、Strutsのアクションにリダイレクトするページを使用することかもしれません。このように、1つのプロジェクトの中でデフォルトのスタート・アクションを何度も設定した場合は、複数のエントリが<welcome-file-list>のリストに追加されます。

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

StrutsベースのWebページに挿入するコンポーネントが、入力フィールドなどのフォーム要素を必要とする場合は、そのコンポーネントをフォーム内に挿入するように指示するとともに、必要に応じてフォーム要素を作成するメッセージが表示されます。ただし、ここで作成されるフォーム要素は、次のようなコードです。

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

このaction属性を編集して、ページ・フローでフォームの入力を処理するアクションの名前を指定する必要があります。たとえば、アクションの名前がMyActionNameならば、/Handle_This_form.doを/MyActionName.doに変更します。

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

Strutsページ・フロー・モデラーを使用しているときに、Data Page/Data Actionに重なるような位置にフォワードに対するテキスト・ラベルがある場合、データ・コントロール・パレットからそのData Page/Data Actionにメソッドをドラッグすることが難しくなります。フォワードのテキスト・ラベルをData Page/Data Actionと重ならないように配置した後で、メソッドをドラッグ&ドロップするようにしてください。

コンソールにディレクトリWEB-INFが存在しないというメッセージが表示される(3976907)

Strutsアプリケーションを設計または実行しているときに、コンソールに次のエラー・メッセージが表示される場合があります。

Directory C:\WEB-INF does not exist. 

このメッセージは無視しても問題ありません。

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

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

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

Beanアクセッサによって返されるスカラー属性(3389123)

Beanアクセッサによって返されるスカラー属性は、ADFデータバインディングで「readonly」とマークされます。このリリースには、この値の更新サポートは実装されていません。

スカラー属性を持たないBeanをレンダリングしているときのNoDefExeception(3475505)

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

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

oracle.jbo.domain.Arrayデータ型のレンダリングには、JSPではカスタム入力/値レンダラ、JClientではJUArrayComboBoxを使用できますが、データ・コントロール・パレットからドラッグ&ドロップして作成することはできません。

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

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

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

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

.cpxファイルのDataControl IDは一意であることが必要(3539053)

クライアント・プロジェクトで複数のビジネス・サービスを扱うときには、.cpxファイルの各DataControlのIDが一意である必要があります。アプリケーション開発時にデータ・コントロール・パレットを使用すると、.cpxファイルにIDが一意のデータ・コントロール参照が追加されます。ランタイム・エラーが発生しないようにするには、(プロパティ・インスペクタで).cpxファイルのDataControlのIDプロパティを編集する際に、同じ名前を使用しないでください。

JClientに関する問題

JClientクライアントではツールチップ・テキストが使用されない(3442568)

基礎となるエンティティ・オブジェクト属性やビュー・オブジェクト属性にツールチップ・テキストが入力されていても、JClientのクライアントでは無視されます。この問題を回避するために、クライアント・コードでツールチップ・テキストを設定できます。次の例で、Deptno属性にツールチップ・テキストを設定する方法を示します。


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

ビジネス・コンポーネントのコントロール・ヒントがJavaビジュアル・エディタでは無視される(3405193)

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

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

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

JClientでは、作成された直後の行はコミット可能な状態ではない

JDeveloper 9.0.5.xからは、JClientアプリケーションで作成される新規行は、一時的なものとして初期化され、検証やポストは自動的には行われません。検証やポストを行うには、ユーザーが行を編集するか、setNewRowState()(次の説明を参照)をコールして行の状態をNEWにする必要があります。この変更を行ったのは、スプレッドシートのように、Java UIアプリケーションの一般的な動作を反映させるためです。これにより、一連の行を事前に作成および挿入でき、その後アプリケーションではユーザーが入力した行を検証、ポストおよびコミットできます。

ただし、この動作により、行を完全に、ポストできる状態として作成する必要があるJClientアプリケーションでは、トランザクション・コミットの際に、完全でないデータが無視される場合があります。新しい行の状態をNEWに設定し、9.0.5より前のJClientの動作をシミュレートするには、その行の状態を遷移するコードを記述する必要があります。これには、次のようにいくつかの方法があります。

  1. ViewRowImplサブクラスのsetNewRowState()コールをオーバーライドして無視します。
  2. デフォルトのnavbarアクションをオーバーライドして作成し、superの後に、getIteratorBinding().getCurrentRow().setNewRowState(Row.STATUS_NEW)を使用して、イテレータの現在の行を取得し、新しい行の状態をNEWに戻します。
  3. カスタムのactionPerformedイベントを「作成」または「新規」ボタンに実装し、コード内に該当するRowSetIteratorでcreateRow()/insertRow()をコールします。

IE 5.5でJava Web Startが起動しない

デフォルトのブラウザがInternet Explorerの場合、Java Web Startでアプリケーションを起動するのではなく、JSPをダウンロードするように求められます。これは、Internet Explorerバージョン6以前の既知の問題です。この問題を解決するには、静的JNLPファイルを作成するか、JDeveloperツールの設定を使用して別のブラウザを起動するように指定します。JClient Java Web Startウィザードでは、静的JNLPファイルを生成できるので、これを変更して、JNLP定義を含めることができます。または、使用するキャラクタ・セットが英語である場合は、Local.jspファイルを編集して、次のようにファイルのページ・ディレクティブにあるcharsetエンコーディング属性を削除します。

<%@ page contentType="application/x-java-jnlp-file" %>

Toplinkに関する問題

Mapping EditorでのカスタムSQLタブの使用

TopLink Mapping EditorでカスタムSQLタブを使用すると、TopLinkディスクリプタの挿入、更新、削除、読取りまたはすべて読取りのアクションに使用するカスタムSQLを定義できます。たとえば、デフォルトのTopLink readObject関数をカスタム・ストアド・プロシージャに置き換えるには、カスタムSQL文字列を追加して、カスタムSQLタブの「読取り」タブに置換コードを実装します。

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

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

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

  1. JDeveloper TopLink対応のプロジェクトを新規作成します。
  2. このプロジェクトに、オフラインのデータベース・オブジェクトを作成します。次のメソッドのいずれかを使用して、(Mapping Workbenchのプロジェクトの\mw\tableディレクトリでの指定に従って)必要なデータベース表を作成します。
  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デプロイメント・ディスクリプタ・ファイル(ejb-jar.xml)」を選択します。ウィザードを使用して、<project name>/META-INF/ejb-jar.xmlファイルと/srcファイルをインポートします。

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

作業ユニットではオブジェクトの主キーを変更できません。これは、サポートされていない操作であり、この操作を行うと、予期しない動作が発生します(例外やデータの破損など)。一意の制約のあるオブジェクトの1つのインスタンスを別のオブジェクトと置き換えるには、作業ユニットのsetShouldPerformDeletesFirstメソッドを使用します。詳細は、『Oracle Application Server 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ファイルが作成されます。CMP EJBの「TopLinkマッピング」タブをクリックすると、永続性マネージャがTopLinkとして設定されます。


<persistence-manager name="toplink"/>
<entity-deployment name=" [entity name] " data-source=" [datasource name] " table=" [table name] "
<PM-name="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. 「TopLink Mapping構造」ペインで各CMP EJBをクリックします。この操作により、TopLink Mapping Editorが起動し、PM-name="toplink"属性エントリが各CMP EJBの<entity-deployment>タグに追加されます。

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

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

TopLinkテクノロジが選択されたプロジェクトに新しいクラス(.javaファイル)をインポートし、その後で「TopLink構造」ペインの「ディスクリプタを作成」ボタンをクリックしてこれらのクラスをマッピングしようとすると、oracle.toplink.workbench.external.meta.ExternalClassNotFoundExceptionエラーが発生する場合があります。このエラーを回避するには、初めてマッピングする前に、インポートしたクラスを1回コンパイルします。

コード・エディタで「TopLink Mappings」タブを使用できない(2986395)

コード・エディタでTopLinkデプロイメント・ディスクリプタを追加した後、「TopLinkマッピング」タブがコード・エディタに表示されない場合があります。その場合は、コード・エディタをいったん閉じてから開き直すと、「TopLinkマッピング」タブが表示されます。

.JAVAファイルを変更した後、TopLinkディスクリプタが失われる(3733058)

表からJavaオブジェクト(およびTopLinkディスクリプタ)を作成した後、.javaファイルを不適切な構文の状態(たとえば、private Stri)で変更してJDeveloperを閉じると、JDeveloperを再起動したときに、変更した.javaファイルのTopLinkディスクリプタが失われます。

TopLink Mapping Editorにアクセッサ(getterおよびsetter)がメソッドとして表示されない(3633296)

TopLink Mapping Editorにアクセッサをメソッドとして表示するには、Mapping Editorを終了し、JDeveloperプロジェクトを保存してから、Mapping Editorを再起動します。これで、アクセッサはメソッドとして表示されます。

「TopLink Mapping構造」ウィンドウが正しく更新されない(3747403、3773050、3813680)

マッピングされた属性を変更したとき、「TopLink Mapping構造」ウィンドウが正しく更新されず、変更が反映されない場合があります。「TopLink Mapping構造」ウィンドウを更新させるには、変更を行った後でプロジェクトを保存する必要があります。

TopLinkのアクセシビリティに関する問題(3845935、3845909、3845804)

TopLink Mapping EditorにJAWSスクリーン・リーダーを使用すると、次のユーザー・インタフェース要素が正しく読み取られない場合があります。

ドル記号を含むクラス名(3768125)

ドル記号($)が含まれたクラス名は内部クラスです。TopLink Mapping Editorを使用して、それらのクラスに対してTopLinkディスクリプタを作成することはできません。

TopLink Mapping EditorでOracle10gデータベースを使用する(3856465)

JDeveloperのTopLink Mapping Editorには10g固有のデータベース・ファイルが含まれていません。TopLink Mapping EditorでOracle10gデータベースを使用するには、Oracle9iデータベース・オプションを選択します。

TopLinkデータ・コントロール・パラメータの移行(3859963)

TopLinkマッピングが設定されたJDeveloperプロジェクトを10.1.2に移行する場合、TopLinkSequenceOnCreateおよび TopLinkShouldPerformDeleteFirstパラメータはオプションであるため、移行先プロジェクトに含まれません。必要に応じて、構造ウィンドウまたはプロパティ・ウィンドウを使用して、これらのパラメータを追加する必要があります。詳細は、Javadocを参照してください。

デフォルトのTopLink問合せは設定できない(3603407)

TopLink Mapping Editorでは、デフォルトのTopLink問合せ(「すべて読取り」「一度に読み込む」など)にキャッシュ・オプションを設定できません。たとえば、「キャッシュの使用方法」、「パラメータのバインド」、「タイムアウト」、「返す行数(最大行)」などの項目を変更できません。

TopLink ADFデータ・バインディングの使用(3736337)

Oracle Application Server 10g(10.1.2)にデプロイするときに、TopLink ADFデータ・バインディングを使用するには、JDeveloperで「ツール」「ADF Runtime Installer」オプションを選択します。スタンドアロンOC4Jを使用する場合は、ADF Runtime Installerを使用する必要はありません。

データベース・セッションで接続プールを使用すると、SessionLoaderの例外が発生する(3887079)

TopLink sessions.xmlでデータベース・セッションを使用する場合は、接続プールを作成または使用しないでください。接続プールはサーバー・セッションにのみ使用します。

クラスをリファクタしてもTopLinkディスクリプタが更新されない(3903528および3926599)

クラスをリファクタ(名前の変更または削除)しても、関連するTopLinkディスクリプタの名前の変更や削除が行われません。TopLinkディスクリプタの名前を変更するには、最初にディスクリプタをプロジェクトから削除してから、名前を変更したJavaクラスを再インポートします。新しいTopLinkディスクリプタは、新しいクラス名で作成されます。

セッション名の先頭に空白を付加すると、実行時に例外が発生する(3900559)

JDeveloperでは、TopLink sessions.xmlのセッション名の先頭に空白を付加できますが、空白を付けると実行時に例外が発生します。セッション名の先頭には空白を付けないでください。

DataControls.dcxとDataBindings.cpxの同期化(3917609)

JDeveloperでデータ・コントロールを操作しているときに、DCXを変更してもCPXに反映されない場合があります。この問題を回避するには、DataControls(DCX)を変更する前にDataBindings(CPX)を変更してください。

レコードを削除およびコミットするときにエラーが発生する(3815959、3903366)

TopLinkにマッピングされたオブジェクトが1:Mの関係にあり、双方向の関係を維持する場合、この関係の外部キー制約のソース列に非NULL制約があると、UnitOfWork.commit()の時にデータベースの整合性制約違反が発生する場合があります。この問題は、TopLinkを利用したADFアプリケーションでcommitのデータ・アクションを実行する場合に発生します。

対処方法:

  1. 1:Mの関係を私有として設定します。これで、関連付けられたオブジェクトが1:Mコレクションから削除されるときに、NULLのFK値を持つように更新するのではなく、データベースから削除するようにTopLinkに指示されます。このオプションを使用する場合は、注意してください。1:Mコレクションの関係にあるオブジェクトの関連付けを解除すると、関連付けられているデータベース行が削除されます。
  2. 外部キー制約のソース列で非NULL制約をオフにします。これにより、整合性制約に違反することなく、NULLが更新されます。

sessions.xmlの「ソース」ビューのマルチバイト文字列が文字化けして表示される(3983407)

マルチバイト文字列がsessions.xmlにある場合、sessions.xmlの「ソース」ビューに文字化けして表示されます。これは、表示上の問題です。sessions.xmlの「ソース」ビューは読取り専用であり、実際のsessions.xmlは正しくエンコードされます。

TopLinkの作業ユニットのリセットによるパフォーマンスの向上

TopLinkの作業ユニットのコミット時には、その状態が自動的にリセットされません。トランザクションが複数にわたると、作業ユニットの変更箇所が大きくなり、結果としてパフォーマンスが低下する場合があります。作業ユニットの状態は、ビュー層またはコントローラ層の中からTopLinkDataControl.resetState()をコールすることで明示的にリセットできます。たとえば、Struts DataActionのhandleLifecycle()メソッド内からコールする場合、コードは次のようなものになります。

TopLinkDataControl dc =
  (TopLinkDataControl) actionContext.getBindingContext().findDataControl("DataControlName");
if (! this.hasErrors(actionContext) )
{
  dc.resetState();
}

また、コミット操作後にresetState()をコールして、状態のアンマップされた機能を明示的にリセットすることもできます。
 

Webサービスに関する問題

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

WSDLドキュメントに関連したXMLスキーマはすべてW3Cサイトにあり、法律上の制約によって、ローカル・インストールにコピーできないため、JDeveloperはWSDLファイル・タイプにXML Schemaを事前登録していません。したがって、JDeveloperのXMLエディタでは、WSDLドキュメントにコード・インサイトを使用することはできません。

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

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

ナビゲータでは、Webサービス・ノードを選択し、「アプリケーションに追加」ボタン(+記号)をクリックします。ダイアログでは\src\<package>ディレクトリにナビゲートします。.sqljファイルをすべて選択して、「開く」をクリックします。これで、プロジェクトをコンパイルしてもエラーが発生しなくなります。

Webサービスの検索ウィザードにおけるJAWSの制限事項(3194304)

JAWSなどのアクセシビリティ・リーダーを使用する場合、Webサービスの検索ウィザードの使い方に注意が必要です。ウィザードの「tModel」ページでは、行が正常にロードされるまで待つ必要があります。それまでは「WSDLかどうか」列に有効値が返されません。 そのためにはまず、「説明」列に移動します。行のロード中は、「説明」列に「ロード中」と返されます。行がロードされたら、「説明」列にWebサービスの説明が返されます。これで「WSDLかどうか」列に移動して値を読めるようになります。

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

PL/SQL Webサービス・ウィザードのステップ1にはコンボ・ボックスがあり、そこではサービスの生成先プロジェクトを選択できます。ウィザードのステップ3に進むと、選択したプロジェクトのコンテキスト・ルートを使用して、Webサービスのエンドポイントが自動生成されたことがわかります。

ただし、ステップ1に戻って他のプロジェクトを選択してからステップ3に戻ると、Webサービスのエンドポイントの自動再生成が失敗し、エンドポイントには、最初に選択したプロジェクトのコンテキストがまだ反映されていることがわかります。

Webサービスの生成前に、ウィザードでエンドポイントを手動で更新し、プロジェクトの正しいコンテキスト・ルートを反映させる必要があります。この操作を行わないと、生成されたWSDLドキュメントのエンドポイントが間違ったものとなり、Webサービスにアクセスするためにスタブが生成されても、間違ったエンドポイントを指すようになります。このほかに、生成後にWebサービスを再編集し、再生成に正しいエンドポイントを反映させることもできます。

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

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

JDeveloperのインストール・パスにスペースがあると、生成されたWebサービス・スタブは異常終了する(3068701)

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

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

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

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

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

名前にハイフンが入っているデータベース・パッケージのPL/SQL Webサービスを生成すると、ハイフン(-)はJava識別子に有効な文字列ではないため、JPublisherによって生成されるSQLJファイルは間違ったものになります。

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

WS-Iログ・ファイルは、JDeveloperと同じシステム・ドライブになければならない(3535903)

「ツール」→「設定」→「WS-Iテスト・ツール」で設定するWS-Iログ・ファイルの場所は、JDeveloperと同じシステム・ドライブにあることが必要です。別のドライブが設定された場合には、ログ・ファイルは作成されません。たとえば、JDeveloperがDドライブにインストールされている場合、WS-Iログ・ファイルの場所もDドライブにする必要があります。

WSDLでは特定のタイプを使用するスタブまたはスケルトンを生成できない(3912349)

JDeveloper 10.1.2では、WSDLドキュメントで定義可能なすべてのcomplexTypesのサブセットのみが認識されます。たとえば、WSDLのtypesセクションに次のタイプが出現する場合、スタブまたはスケルトンにはUnknownTypeへの参照が生成されます。

UDDIレジストリのWebサービスに対するレポートの文字化け(4070841)

接続ウィンドウで、UDDIレジストリのツリーを開き、任意のWebサービスに対して右クリック・メニューから「レポートの表示」を選択して表示されるレポート情報ページ内の日本語が文字化けして表示される場合があります。このページは、選択されたWebサービスに関する情報をフォーマットし直して表示しているもので、実際のWebサービスの動作に影響するものではありません。この問題は次の方法で回避できます。

  1. 以下のコマンドを使用して、レポート書式用ファイルを抽出します。
    cd <JDev_Install>/jdev/lib
    <J2SE_Install>/bin/jar xvf jdev.jar oracle/jdevimpl/webservices/uddi/report/uddiservicerpt.xsl
  2. 抽出されたファイルをテキストエディタで開き、最初のほうに記述されている次の一行を修正します:
    <xsl:output method="html" />
    これを
    <xsl:output method="html" encoding="shift_jis"/> : WindowsまたはUnixでSJIS環境の場合
    <xsl:output method="html" encoding="euc-jp"/> : UnixでEUC環境の場合
    のようにします。
  3. <JDev_Install>/jdev/bin/jdev.confをワードパッドで開き、最後に以下の文を追加します。
    AddVMOption -Duddi.serviceReport.Stylesheet=<JDev_Install>/jdev/lib/oracle/jdevimpl/webservices/uddi/report/uddiservicerpt.xsl

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

モデル化に関する問題

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

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

対処方法として、モデル化されたクラスやインタフェースを、ダイアグラムから手動で削除します。

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

ダイアグラムでモデル化されているEJBがあり、モデル化されたEJBのコンテキスト・メニューから「ディスクから削除」を選択しても、EJBはダイアグラムに表示されたままです。これを削除するには、EJBを選択し、「ファイル」→「<パッケージ名>から削除」を選択します。ダイアグラムでモデル化されているEJBがあり、ナビゲータでそのEJBに対して「ディスクから削除」を実行しても、モデル化されたEJBは表示されたままです。これを削除するには、ダイアグラム上でEJBを選択してコンテキスト・メニューから「ディスクから削除」を選択します。

対処方法としては、EJBを削除する前にダイアグラムを閉じ、その後でナビゲータからEJBを削除します。

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

ダイアグラムで制約が定義された要素がある場合に、制約を削除せずに要素を削除すると、「ダイアグラムに追加」ダイアログの「制約」ノードを開けなくなります。

モデル化されたJavaクラスを無効な名前に変更するとエラーになる(3495725)

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

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

CVSのサポート: NT PSERVER接続の作成には\表記を使用(3075917)

CVS接続のリポジトリ・ルート値を表す文字列の中にドライブ文字がある場合、そのドライブ文字にスラッシュを2つ続けないでください(例、d//cvshome)。そのかわり、リポジトリの修飾は次のどちらかで行ってください。1つは頭にスラッシュを使用すること(例、/d//cvshome)、もう1つはドライブ文字の後ろにコロンを使用する方法です(例、d:\cvshome)。

WebDAV: Oracle9iApplication ServerへのWebDAV接続でファイルをロック解除できない(2624464)

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

UNIX固有の問題

LinuxへのOJVMインストール

OJVMはHotSpotと互換性のあるJVMで、Jdeveloperで高度なデバッグ機能やプロファイラ、コードアドバイス機能(CodeCoach)などが使用できるようになります。LinuxにJDeveloperをインストールすると、その中にはOJVMが含まれます。このOJVMはJDeveloperで使用するようにインストールできますが、本リリースでのLinux用OJVMは正式なサポートではありません。それをご理解のうえでインストールしたい場合は次のようにします。

rootでログイン中に、LinuxシェルからアプリケーションのJ2SEに、次のようにしてOJVMをインストールできます。


    cd <JDev_Install>/ojvm_linux_x86
    sh installOJVM <J2SE_Install>
        

ここで、<JDev_Install>はJDeveloperのインストール・ディレクトリ、<J2SE_Install>はJ2SEフォルダへのフルパスを表しています。

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


    <J2SE_Install>/bin/java -ojvm -version
 

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/JDev/jdev/mywork/Workspace1/Project2/classes:/
    home/Fred/JDev/jdev/lib/jdev-rt.jar mypackage2.Application1
        

Macintosh OS Xに関する問題

ヘルプのスクロール・ボタンでは下方向にスクロールできない(3762896)

ヘルプの使用時にスクロールするときは、スクロール・ボタンではなく、実際のスクロールバーを直接使用する必要があります。これは、Apple Bug #3748025です。


「スマート・データ」または「データ」ウィンドウの端付近をクリックするとコンソール例外が発生する(3761047)

コンソール・ウィンドウで、この例外が表示されることがあります。この例外は無害で、JDeveloperにはまったく影響しません。


JClientアプリケーションを実行すると、AppleのVMからの診断情報が表示される(3722494)

OS Xに付属するJava VMによって、コンソールに診断情報が表示されることがあります。この情報は無害です。


アクティブなビューが強調表示されない(3728924)

他のプラットフォームでは、アクティブな組込みウィンドウが濃い色で強調表示されます。Mac OS Xでは、強調表示されません。


テーブル・コントロールの列または行を再配置できない(3757344)

ドラッグ・アンド・ドロップ操作によって、テーブル・コントロールの列または行を再配置できません。


UIアウトラインによりグラフィックスが表示されない(3760903)

OS Xでは、UIデバッガでUIアウトラインが表示されません。


フォーカスがダイアログの適切なフィールドに設定されない(3896729)

一部のダイアログを起動したときに、フォーカスがテキスト・フィールドではなくボタンに設定されます。テキスト・フィールドをクリックしてフォーカスを設定するか、またはタブ移動してから入力します。


動的なJNLPファイルがSafariで動作しない(3907098)

Web Startアプリケーションを作成する場合、JSPでJNLPファイルを動的に生成するのではなく、静的なJNLPファイルを選択してください。SafariではMIMEタイプが無視され、ファイル拡張子によってWeb Startを起動するかどうかが判断されます。


ドッキング可能なウィンドウをフローティングさせるとメニュー・バーが使用できなくなる(3765717)

ドッキング可能なウィンドウをフローティングさせると、メニュー・バーが空になります。ウィンドウをIDEに再ドッキングすると、この状況は解消されます。この問題は、Apple Bug #3752818で報告されています。


クイックJavadocの動作はJava Developer Toolsが必要

JDeveloperのクイックJavadoc機能では、クラスのソード・コードへアクセスできることが前提となっています。Mac OS Xでは、src.jarは通常のJavaインストールの一部ではなく、Developer Toolsパッケージの一部になっています。このファイルは、J2SDKクラスのソースをクイックJavadocで使用するために必要です。


パレットからのドラッグがサポートされない(3845763)

Mac OS Xでは、パレットのドラッグ・アンド・ドロップ操作を実行できません。パレット項目を選択して、ビジュアル・エディタでコンポーネントを表示する場所をクリックする必要があります。


JSP/HTMLビジュアル・エディタへの日本語の入力(4003532)

JSP/HTMLビジュアル・エディタ上に日本語を入力すると、実際の入力位置とカーソル位置がずれて表示されることがあります。コード・エディタには、この問題はありません。

スクリーン・リーダーに関する問題

Java Access Bridge 1.2のインストール

JDeveloperとJAWSの連携動作を設定する場合は、オンライン・ヘルプの手順に従って、http://java.sun.com/products/accessbridgeからaccessbridge-1_2.zipをダウンロードしてください。オンライン・ヘルプにあるスクリーン・リーダーの設定手順では、accessbridge-1_1.zipのダウンロードが推奨されていますが、これはAccess Bridgeの最新バージョンではありません。この手順は、Java Access Bridge 1.2が提供される前の情報です。

JAWS 3.70の使用時におけるJDeveloper 10.1.2に関する問題

JDeveloper 10.1.2でJAWS 3.70を使用するときは、次の問題に注意してください。

「新規ギャラリ」ダイアログには使用可能な各オプションのテキストによる説明がありますが、JAWSでは読み取れず、そこにダイアログ上でタブ移動することはできません(2498024)。

ドロップダウン・リスト・ボックスの値が1つだけの場合、JAWSはその値を読み取れません。JAWS 5.0とAccess Bridge 1.1GAでは、この問題は解決されていますが、断続的に再発する可能性があります(3345137)。
対処方法: この問題が発生する場合は、フォーカスをリスト・ボックスまたはコンボ・ボックスに設定してから[↓]キーを押して、値リストを開きます。その後、項目を読み取ります。

JAWS 3.70またはJAWS 5.0の使用時におけるJDeveloper 10.1.2に関する問題

JDeveloper 10.1.2でJAWS 3.70またはJAWS 5.0を使用するときは、次の問題に注意してください。

コンポーネント・パレットからJavaビジュアル・エディタにオブジェクトをドラッグ・アンド・ドロップするためのキーボード操作([Space]など)はありません(3682651)。

オフライン表の作成ウィザードのステップ4にある使用可能リストに、キーボード操作([Tab]キー)でナビゲートできません。対処方法: 「すべて移動」ボタンを使用して、リスト項目を「選択済」リスト・ボックスにいったん移動してから、「使用可能」リスト・ボックスに戻します。それ以降は、ダイアログのタブ順序に「使用可能」リストが含められます(3655901)。

JAWS 5.0使用時におけるJDeveloper 10.1.2に関する問題

JDeveloper 10.1.2でJAWS 5.0を使用するときは、次の問題に注意してください。

同じフレーム内の重複するUIオブジェクトには、コンテキストがありません。たとえば「ツール」→「設定」→「ビジネス・コンポーネント」→「ベース・クラス」パネル内には、ラベルが重複する複数の編集ボックスがあります(3803044)。

「ツール」→「設定」→「環境」→「ドッキング可能なウィンドウ」パネルを選択すると、「設定」ダイアログにラベルのないボタンがあります(3557870)。

次に示す5つの不具合では、ユーザーがウィンドウにナビゲートまたはフォーカスを移しても、IDEウィンドウのタイトルまたは状態が読み取られません。ダイアログの一部の内容が読み取られることもありますが、ユーザーにウィンドウのタイプ、またビューアが開かれていてアクティブであることが知らされないと、それがどのコンテキストに所属するかわからなくなるため、以降のナビゲーションが困難になります。
-イメージ・ビューアのタイトルおよび状態は、JAWSでは読み取られません(2217088)。
-SQLワークシートのタイトルおよび状態は、JAWSでは読み取られません(2217097)。
-表ビューアのタイトルおよび状態は、JAWSでは読み取られません(2217099)。
-順序ビューアのタイトルおよび状態は、JAWSでは読み取られません(2217101)。

ダイアログまたはウィザードの起動時に、コンボ・ボックス(または編集コンボ・ボックス)のコントロールがデフォルトでフォーカス設定されているときは、JAWSがそのコントロールの選択された項目を読み取りません(2057497)。
対処方法: ダイアログまたはウィザードを起動し、JAWSで読取りを終了した後、[Tab]キーを使用してダイアログのタブ移動順にナビゲートすることで、スクリーン・リーダーに各UIコンポーネントを識別させ、フォーカスがコンボ・ボックスに戻るまで続けます。この時点で、スクリーン・リーダーによって、コンボ・ボックス名、状態および選択された項目が読み取られます。

「新規ギャラリ」ダイアログの各項目に関する説明が記述されたテキスト領域は、JAWSでは読み取られません(2498024)。

JAWS 3.70に関する問題

JAWS 3.70では、特に次の問題に注意してください。

コンテキスト・メニューは、スクリーン・リーダーによって読み取られません(2718451、2843320、202170)。

ヘルプ・パネルのタイトルは読み取られず、「目次」タブ、「全文検索」タブおよび「索引検索」タブを含むUIコンポーネントのみが読み取られます(3200557)。

IDEウィンドウのグループ・ボックスとしての読取りでは、タイトルは読み取られません。これには、プロパティ・インスペクタ、「サムネイル」ウィンドウ、「データ・コントロール」ウィンドウ、コンポーネント・パレットが含まれます。コンポーネント・リストで移入されていないタイトルの読取りは失敗します。これは、各種のIDEウィンドウを使用する際の一般的な問題です。対処方法: 「表示」メニューのメニュー・オプションを選択してウィンドウにフォーカスを設定すると、それらのメニュー項目の選択時にウィンドウ名が読み取られます(3432531、2498082、3506930)。

警告メッセージ・ボックス、検証メッセージ・ボックス、エラー・ダイアログ(赤い停止記号)などの、IDEの様々な場所にあるビジネス・コンポーネント・メッセージ・ボックスの内容は読み取られません(2465154、2944784、2565846、2573384、2505465、2032707、2032726、2566192、2566202)。

IDEの様々な場所にある一部のコンボ・ボックスでは、ユーザーが次の項目を選択しないと、選択された項目の読取りに失敗します(2936822、2057497、2939382、2939245)。

IDEの様々な場所にある一部の編集ボックスでは、タブ移動を使用してフォーカスをUIコンポーネントにリセットしないと、デフォルトの内容が読み取られません(2565938、2939366)。

IDEが提供する各種ウィザードの「初期画面」ステップの説明テキストが、JAWSによって読み取られません(2569119、2942044、2200314、2944263、2944750、2939670)。

IDEが提供する各種ウィザードの各ステップの説明テキストが、JAWSによって読み取られません(2565846、29337544、2937552、2939670、2944792、2942060、2459125、2939186、2939670、2944750、3195732)。

JDeveloperからメモリー・プロファイラなどのJavaスレッドを実行すると、JAWSで障害が発生します(3078996)。

コード・インサイトにアクセスできません。Javaメソッドを表示してコード入力を支援する「JOptionPane」ポップアップ・ダイアログにフォーカスを設定する方法がないためです(2936838)。

「ビュー・オブジェクト編集」ダイアログの「問合せ」パネルでは、JAWSが読取りに失敗したテスト結果が編集ボックスに表示されます(2565599)。

JDeveloperデバッガを起動または停止すると、JAWSで障害が発生します(2936822)。

IDEの様々な場所で、バックグラウンドにあるフォーカスのない項目が読み取られることがあります(2497997)。

IDEの様々な場所で、フォーカスを変更するたびに説明テキストが繰り返され、過剰発話になったり、値が何度も繰り返されることがあります(3659804)。

TopLink Mapping Editorの構造ペインにおけるコンテキスト・メニューの「新規」および「詳細」は、JAWSでは読み取られません(3928664)。

「セッションの名前変更」ダイアログは、JAWSでは読み取られません(3928653)。

JAWS 5.0に関する問題

JAWS 5.0では、特に次の問題に注意してください。

JDialogの静的テキストは、ダイアログが初めてフォーカスを取得したときだけでなく、ユーザーがコントロール間をタブ移動するたびに読み上げられます。この場合、コントロール名やオプション・ラベルに加えて、説明テキストが読み上げられます。この現象はJDeveloperの一部のダイアログで発生します。たとえば、Webサービスの検索ウィザードには、チェック・ボックスやラジオ・ボタンなどの複数のコントロールを持つグループ・ボックスがあります(3663546)。

Windowsのシステム・メニューでは、ショートカット・キーやキーボードの組合せを使用してコントロールを選択したときなどに、不適切なタイミングでフォーカスが取得されることがあります。対処方法として、[Esc]キーを2度押してから、キーボードを使用してダイアログのナビゲートを続けます(JDeveloper Bug 3686207、JAWS Bug 3670196)。

JDeveloper 10.1.2とJAWS 5.0を使用しているときは、コンテキスト・メニューのサブメニュー項目が読み取られません(JDeveloper Bug 3672967、JAWS Bug 3686135)。

JAWSがツールチップを読み取るよう構成されていても、EWTツールチップは読み取られません(JAWS Bug 3163530)。

EWTグリッドでの編集時には、JAWSによって前の列、行、列値および編集済のセル値が読み取られることがあります。編集後に[Tab]キーを押すと、コミットされた値が読み取られます(JAWS Bug 3163530)。

EWTグリッドでは、[Space]を押してもチェック・ボックスを選択できません。この問題への対処方法はありません(JAWS Bug 3163469)。

チェックリストのJavaコンポーネントでは、JAWS 5.0はチェック・ボックスを認識または読み取りません。Webサービスの作成ウィザードのチェックリストにあるJavaコンポーネントはリスト・コントロールで、ユーザーは各リスト項目の横にあるチェック・ボックスを使用して、その行を選択します。JAWSでは、チェック・ボックスが認識されないため、チェックリストの各行は単純なリスト項目として読み取られます。また、最新バージョンのアクセス・ブリッジ(AccessBridge_1.2_GA)を使用する場合、チェックリストの各種の実装で正常な読取りができなくなります。中には、チェックリスト項目から、チェック・ボックス情報(チェック・ボックス名やチェック・ボックスが選択または選択解除されているかどうかなどを示す状態)のみが読み取られるものもあります。別のチェックリスト実装では、リスト項目情報(リスト・ボックス名やリスト項目)のみが読み取られ、チェック・ボックス情報は読み取られないことがあります。この問題への対処方法はありません(JDeveloper Bug 3663621、JAWS Bug 3692427)。

その他の問題

UMLクラス・エディタでのNULLポインタ例外(3891954)

UMLクラス・エディタの使用中に[Alt]キーを押しながら[Tab]キーを押すか、またはマッピング・エディタを開いたままで構造ペインをクリックすると、NULLポインタ例外の(javax.swing.SwingUtilities.getWindowAncestor(SwingUtilities.java:63))を受け取ることがあります。この現象はめったに発生しませんが、J2SDKの不具合が原因です。この不具合は、J2SDKバージョン1.4.2_05以降では修正されています。

Windows XP Service Pack 2でのJDeveloperの実行

Windows XP Service Pack 2でJDeveloperまたはOC4Jを初めて実行するときは、Windowsのセキュリティ・アラートが表示されます。「ブロック解除」ボタンを1度クリックすると、これ以降、このアラートを受け取ることはありません。

SP2はすべてのポートをブロックします。OC4Jをブロック解除しても、デフォルト・ポートの8888はブロックされたままになります。そのため、外部のOC4J(ポート8888など)を使用するアプリケーションを実行するには、ファイアウォールの例外リストにポート8888を物理的に追加する必要があります。この作業を行う手順は次のとおりです。

  1. ネットワークのプロパティに進み、イーサネット接続を選択します。
  2. 「詳細設定」タブに進み、ファイアウォールの設定をクリックします。
  3. 「例外」タブに進み、「ポートの追加」をクリックして、ポート8888またはOC4Jで使用するポートとオプションの名前を指定します。
  4. 「OK」をクリックして「ネットワーク接続」ウィンドウを閉じます。

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

JSPのメイク/実行時に、次のようなエラーが発生する可能性があります。これは、エラーで報告されているtaglibハンドラ・クラスが実際にクラスパスに存在する場合でも発生することがあります。


エラー(1): java.lang.ClassNotFoundException:
エラー(1): taghandlerクラスをロードできません。

これは、WEB-INF/libに入っている一部のjarに未使用のtldがあり、その実装ライブラリがこのプロセスのクラスパスにないことに対する副作用と考えられます。この場合、次のいずれかを実行します。

  1. 未使用のtldがあるjarをWEB-INF/libから削除します。
  2. WEB-INF/libに入っているjarに関連するライブラリをすべて、プロジェクトのクラスパスに追加します。
  3. 「プロジェクト・プロパティ」→「プロファイル」→「実行」→「オプション」で、「プロジェクトのメイク」の選択を解除します。

マルチバイト環境でJDeveloperを使用すると、テキストの一部が文字化けする(2670389)

マルチバイト環境でJDeveloperを使用すると、埋込みブラウザでマルチバイト文字がすべて四角で表示される場合があります。この障害が発生したら、<JDev_Install>/jdev/bin/jdev..confに対して次のオプションを使用してこの障害が発生しないようにしてください。


AddVMOption -Dice.pilots.html4.ignoreNonGenericFonts=true 

ファイルのHEADタグが大きい場合、JSP/HTMLエディタは、ファイルのエンコーディングを正しくデコードできない(3313918)

現在、JSP/HTMLエディタは、HEADタグの中にある<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=shift_jis"/>のようなMETAタグから、ファイルのエンコーディングを検出しています。

JSP/HTMLエディタでは、そのようなMETAタグが、ファイルの先頭の2000バイト以内に収まっていると想定しています。JSP/HTMLエディタでJSP/HTMLファイルが文字化けした場合は、正しいMETAタグが、先頭の2000バイト以内に収まっているかチェックしてください。

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

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

 

Copyright © 2004, Oracle. All Rights Reserved.