リリース・ノート
リリース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は、主にメンテナンス・リリースですが、新機能もいくつか追加されています。
オフライン・データベース・オブジェクトのインポート・ウィザードでは、スキーマの選択が最後の手順となりました。これは、TopLinkプロジェクトのオンライン・スキーマ名をスキーマのデフォルトに設定できるようにするためです。
Fast Lane Readerデザイン・パターンの実装が簡単にできるように、ビジネス・コンポーネント・ウィザードとビュー・オブジェクト・ウィザードが更新されました。新しいビュー・オブジェクトを作成する際に、読取り専用のSQL問合せによって移入されたデータを持つビュー・オブジェクトを作成できるようになりました。このモデルでは、すべてのデータがビュー・キャッシュに格納されるため、問合せが繰り返される場合にパフォーマンスが非常に向上します。
このリリースでは、ADFビジネス・コンポーネントのパフォーマンスが大幅に向上しています。コードやアーキテクチャに対して変更を加える必要はありません。このリリースを使用してアプリケーションを再コンパイルし、デプロイして実行するだけです。使用するアプリケーションのタイプによっては、パフォーマンスが30%も改善される場合があります。
Bug #3077519「BLANK NEW ROW PROBLEM IS BACK FOR WEB APPS」が修正されたため、データ・バインディングの設計時が多少変わりました。JDeveloper 9.0.5のこの不具合では、ユーザーがボタンをクリックして空白のフォームに新しい行を追加した後、ブラウザの「戻る」ボタンをクリックして参照フォームに戻ると、空白行が参照フォームに挿入されます。
ADFビジネス・コンポーネントにバインドされているWebページの場合、この動作は変更されました。つまり、デフォルトで、ユーザーが「戻る」ボタンをクリックしても、空白行は表示されません。以前の動作がページで必要な場合は、次の手順を実行します。
JDeveloper 10.1.2には、埋込みOC4Jバージョン10.1.2が組み込まれています。OC4J 10.1.2の拡張機能および不具合の修正については、OC4Jのリリース・ノートを参照してください。
JDeveloper 10.1.2には、Oracle Application Server 10.1.2付属のOracle JDBCドライバが含まれています。
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サービスを再生成しようとすると、それ以降はコンパイルできない状態になります。
対処方法:
以前のリリースのJDeveloperから移行されたWebサービスを再生成したとき、再生成されたインタフェースがデプロイメント・プロファイルから欠落することがあり、その結果、デプロイされたWebサービスにアクセスできなくなります。
対処方法:
JDeveloper 10g Previewからユーザー設定を移行する場合に、WS-Iテスト・ツールの場所は正しいように見えますが、アナライザのコードが正しく機能するために必要な非表示のフィールドにデータを入力するには、ツールの場所をもう一度入力する必要があります。
「ツール 」→「設定」を選択し、「WS-Iテスト・ツール」を選択します。フォルダを参照するか場所をキー入力して、テスト・ツールのホームの場所を再入力します。
Oracle9i JDeveloperなどのツールで作成されたStrutsアプリケーションは、Oracle JDeveloper 10g Productionリリースへの移行後に、正しくコンパイルされないことがあります。
Strutsアプリケーションが、JDeveloper 10gへの移行後に正しくコンパイルされなくなった場合、その原因としては、移行プロセスによってWEB-INF/libディレクトリからstruts.jarファイルが誤って削除されたことが考えられます。
移行後のStrutsコンパイル・エラーを解決する方法は次のとおりです。
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つの基本的な方法があります。
first()
メソッドを使用して、この戻り値がnullかどうかをチェックします。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;
}
ADF BCランタイム・アーカイブbc4jhtml.jarは、JDeveloperの今回のリリースで分割されています。移行後のプロジェクトでbc4jhtml.jarを使用する場合は、クラスパスを更新し、<JDev_Install>/BC4J/jlib/bc4jhtml.jarおよび<JDev_Install>/BC4J/lib/adfmweb.jarが含まれるように設定します。
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ベースのアプリケーションを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()
メソッドに委任するという方法でも実現できます。
OC4Jネイティブ(TopLinkではない)CMPマッピングを使用するCMP Entity Beanが含まれるEJBアプリケーションを移行する場合、ユーザーは次の操作を実行しないと、アプリケーションを10.1.x OC4Jサーバーに再デプロイできません。
これらの手順を実行すると、EJBモジュールはOC4J 10.xサーバーにデプロイできる状態になります。
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' ?>
アプリケーションをOracle JDeveloper 10gリリース9.0.5からリリース10.1.2に移行する場合、これらのリリース間でテクノロジ・スタックが変更されていない場合でも、移行ダイアログが開く場合があります。このダイアログは、無視しても問題ありません。
前述の式の第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
}
以前のリリースからリリース10.1.2に移行する場合、CMP EJB Entity BeanがCMR関連を持つときは、それらの関連を更新する必要があります。各関連は、CMPマッピング・エディタで選択するだけで、JDeveloperによって自動的に適宜更新されます。
9.0.x UIX/BC4J/JSPのアプリケーション・プロジェクト全体をJDeveloper 10g に移行して、そのアプリケーションを実行した場合、UIXのリソースとスタイルは実行時に表示されません。これは、移行プロセスでは、製品の以前のリリースに関連するオブジェクトとファイルが削除されるのみで、新しいリソースが追加されないためです。
対処方法:
BC4JセッションFacade結果に対してJSPアプリケーションを作成すると、そのプロジェクトのweb.xmlに<ejb-ref>エントリが追加されます。そのFacadeのインタフェース・タイプをローカルからリモートに、またはリモートからローカルに変更する場合は、web.xmlの<ejb-ref>エントリを更新する必要があります。たとえば、Bean型をリモートからローカルに変更する場合は、web.xmlの<ejb-ref>セクションのかわりに、適切な<ejb-local-ref>タグを記述する必要があります。
ADF UIXテクノロジ・スコープのみが割り当てられているプロジェクトを操作するとき、「新規ギャラリ」ダイアログにデプロイメント・プロファイルの正しいリストが表示されていません。フィルタを「すべてのテクノロジ」に切り替えると、デプロイメント・プロファイルの全リストが表示されます。
WebLogicへのUIXアプリケーションのデプロイに関するドキュメントに加えて、次に示す詳細情報を参考にしてください。
コンテナ管理の永続性(CMP)Entity BeanをJDeveloper 10.1.2からOracle Application Server 10.1.2およびそれ以前のバージョンにデプロイする場合は、orion-ejb-jar.xml内の永続性マネージャの設定を再構成することはできません。これらの設定からは、デプロイ・エラーが発生します。
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>
JDeveloperのプロジェクト・オプションである「ソースパスをスキャンしてプロジェクト・コンテンツを設定」は、ADF Business Componentsに対しては動作は保証されません。このリリースでは、プロジェクトにADF Business Componentsが含まれている場合、このプロジェクト・オプションを使用しないことをお薦めします。
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
バッチ・モードで実行するときは、ADFビュー・オブジェクトのカスタム・インタフェースを利用するクライアント・サイド・コードもバッチ・モードで実行する必要があります。そのためには、次の手順が必要です。
この操作を行わないと、ClassCastExceptionがスローされる場合があります。
スタンドアロンOC4J(完全なOracle Application Serverのインストールではない)を使用してADF Business Componentsを実行する場合、LDAPを使用して認証または認可のためのID管理を行えません。LDAPを使用してID管理を行うアプリケーションには、次の2つの条件があります。
* アプリケーションをスタンドアロンOC4Jではなく、Oracle Application Serverの完全なインストールにデプロイする必要があります。
* LDAPを使用してID管理を行う場合は、JDeveloperでエンティティごとの認証を定義できません。これはスタンドアロンOC4JではLDAP認証がサポートされないためです。
この問題は、次のリリースのJDeveloperで修正される予定です。
一部のADF UIXコンポーネント(日付の選択、値リストなど)では、外部のポップアップ・ウィンドウを使用して別のページに移動しなくても値を選択できるようになっています。しかし、サード・パーティのツールバーの中には、これらのウィンドウの使用を許可せず、通常のHTMLのように元のページに戻って対話できないものがあります。現時点でのこの問題の対処方法としては、UIXコンテンツがあるサイトに対して、ポップアップ・ブロッキングを無効にします。
Microsoft Internet Explorerの不具合により、UIXをホストしているサーバーでパフォーマンスを最適化するオプションとしてJavaScriptファイルの圧縮を有効にしている場合、ADF UIXがJavaScriptライブラリをロードするルーチンが正常に機能しない場合があります。ADF UIXではこの最適化はデフォルトで実行されておらず、一部のサーブレット・コンテナやOracleのWeb Cacheテクノロジでは追加設定できます。この問題を回避するには、UIXアプリケーションによってロードされるJavaScriptライブラリを圧縮しないようにしてください。
この問題は、他のブラウザには影響しません。
特定の状況下では、プロジェクトの.uitテンプレートの中に、UIXページに挿入するコンテキスト・メニューに表示されないものがあります。「すべて保存」操作を行うと、プロジェクトのテンプレートがすべて使用可能になります。
UIXイメージ・コンポーネントのソース属性を設定するとき、選択したイメージがhtml_rootディレクトリの外にあり、JDeveloperがインストールされているドライブとは異なるドライブにある場合、html_rootにファイルをコピーしようとしても失敗します。対処方法として、ファイル・システム内のイメージを手動で移動/コピーします。
このリリースでは、ADFデータ・コントロールを使用してバインドされたページについて、uiXMLプレビューは稼働中のデータ表示をサポートしていません。
このリリースのStrutsページ・フロー・ダイアグラムは、1つのワークスペース・プロジェクトでサポートできるStrutsダイアグラムは1つだけです。複数のStruts構成ファイルは、個々のプロジェクトに振り分けてください。複数構成のStrutsアプリケーションを扱う方法を詳細に記述したドキュメントは、OTNのJDeveloper製品ページ(http://otn.oracle.co.jp/products/jdev/)で入手できます。
JDeveloper 10gでは、TileベースのStrutsアプリケーションが可能ですが、ページ・フロー・ダイアグラムを使用することはできません。Struts構成ファイルの直接編集、Strutsコンソール・エディタ、および構造ペインとプロパティ・インスペクタは、Tileベースのアプリケーションを開発するときにもすべて使用できます。
ページ・フロー・ダイアグラムのコンテキスト・メニューを使用して、Strutsページ・フローのデフォルトのスタート・アクションとして特定のアクションを定義すると、指定されたアクションがデフォルトの実行ターゲットとなるように、プロジェクトのプロパティが更新されます。さらに、最初のアクションがフォワード・アクションの場合は、web.xmlの<welcome-file-list>セクションが更新され、指定されたページに対応する<welcome-file>エントリが追加されます。場合によっては、web.xmlのこのエントリを修正して、フォワード先のページではなく、Strutsのアクションにリダイレクトするページを使用することかもしれません。このように、1つのプロジェクトの中でデフォルトのスタート・アクションを何度も設定した場合は、複数のエントリが<welcome-file-list>のリストに追加されます。
StrutsベースのWebページに挿入するコンポーネントが、入力フィールドなどのフォーム要素を必要とする場合は、そのコンポーネントをフォーム内に挿入するように指示するとともに、必要に応じてフォーム要素を作成するメッセージが表示されます。ただし、ここで作成されるフォーム要素は、次のようなコードです。
<html:form action="/Handle_This_Form.do">
このaction属性を編集して、ページ・フローでフォームの入力を処理するアクションの名前を指定する必要があります。たとえば、アクションの名前がMyActionNameならば、/Handle_This_form.doを/MyActionName.doに変更します。
Strutsページ・フロー・モデラーを使用しているときに、Data Page/Data Actionに重なるような位置にフォワードに対するテキスト・ラベルがある場合、データ・コントロール・パレットからそのData Page/Data Actionにメソッドをドラッグすることが難しくなります。フォワードのテキスト・ラベルをData Page/Data Actionと重ならないように配置した後で、メソッドをドラッグ&ドロップするようにしてください。
Strutsアプリケーションを設計または実行しているときに、コンソールに次のエラー・メッセージが表示される場合があります。
Directory C:\WEB-INF does not exist.
このメッセージは無視しても問題ありません。
データのフェッチ、または変更などの操作におけるパフォーマンスを最適化するには、同じアプリケーションやアプリケーション・フローの複数のバインディング・コンテナにおいて、イテレータ・バインディングに関連付けられたRowSetIteratorのすべてに対し、同じrangeSizeを設定することをお薦めします。
Beanアクセッサによって返されるスカラー属性は、ADFデータバインディングで「readonly」とマークされます。このリリースには、この値の更新サポートは実装されていません。
スカラー属性を持たないBeanをレンダリングしようとするとき、<adf:render>タグまたは<adf:inputrender>タグを使用すると、oracle.jbo.NoDefExceptionがスローされます。
oracle.jbo.domain.Arrayデータ型のレンダリングには、JSPではカスタム入力/値レンダラ、JClientではJUArrayComboBoxを使用できますが、データ・コントロール・パレットからドラッグ&ドロップして作成することはできません。
ユーザー定義のJava BeansやEJB、Webサービスなどの、ADF Business Components以外のテクノロジによって実装されたモデルでは、XMLファイルを編集して、メソッドの戻り値のコレクションのBeanクラスを設定することができます。ただし、ADF Business Componentsで実装されたモデルではこの操作ができません。これにより、RowSet型を返すアプリケーション・モジュールのカスタム・メソッドの戻り値をユーザー・インタフェースにバインドすることはできません。
ADF Business Componentsの使用時にアプリケーション・モジュールのデータ・モデルにビューリンクが使用されている場合、それを利用するクライアント・アプリケーションでは、マスターのビュー・オブジェクトのRowSetIteratorの名前を指定せずNullのままにしてください。マスターのビュー・オブジェクトのRowSetIteratorに名前を付けると、ディテールのビュー・オブジェクトがデータを返しません。
クライアント・プロジェクトで複数のビジネス・サービスを扱うときには、.cpxファイルの各DataControlのIDが一意である必要があります。アプリケーション開発時にデータ・コントロール・パレットを使用すると、.cpxファイルにIDが一意のデータ・コントロール参照が追加されます。ランタイム・エラーが発生しないようにするには、(プロパティ・インスペクタで).cpxファイルのDataControlのIDプロパティを編集する際に、同じ名前を使用しないでください。
基礎となるエンティティ・オブジェクト属性やビュー・オブジェクト属性にツールチップ・テキストが入力されていても、JClientのクライアントでは無視されます。この問題を回避するために、クライアント・コードでツールチップ・テキストを設定できます。次の例で、Deptno属性にツールチップ・テキストを設定する方法を示します。
mDeptno.setToolTipText(panelBinding.findCtrlValueBinding("Deptno").getTooltip());
エンティティ・オブジェクト・エディタやビュー・オブジェクト・エディタでビジネス・コンポーネント属性に設定した表示の幅と高さは、Javaビジュアル・エディタでコントロールをレンダリングする際には使用されません。
データ・コントロール・パレットからJClientパネルやフォームに、コレクションにバインドするコントロール(表、ツリー、リスト、グラフなど)を挿入したら、そのコントロールの幅と高さはゼロになります。両方のサイズがゼロだと、最初はビジュアル・エディタでコントロールのサイズ変更ができません。サイズ変更ができるようにコントロールを表示するには、構造ウィンドウでコントロールを選択して、プロパティ・インスペクタでサイズのプロパティを編集します。
JDeveloper 9.0.5.xからは、JClientアプリケーションで作成される新規行は、一時的なものとして初期化され、検証やポストは自動的には行われません。検証やポストを行うには、ユーザーが行を編集するか、setNewRowState()
(次の説明を参照)をコールして行の状態をNEWにする必要があります。この変更を行ったのは、スプレッドシートのように、Java UIアプリケーションの一般的な動作を反映させるためです。これにより、一連の行を事前に作成および挿入でき、その後アプリケーションではユーザーが入力した行を検証、ポストおよびコミットできます。
ただし、この動作により、行を完全に、ポストできる状態として作成する必要があるJClientアプリケーションでは、トランザクション・コミットの際に、完全でないデータが無視される場合があります。新しい行の状態をNEWに設定し、9.0.5より前のJClientの動作をシミュレートするには、その行の状態を遷移するコードを記述する必要があります。これには、次のようにいくつかの方法があります。
setNewRowState()
コールをオーバーライドして無視します。getIteratorBinding().getCurrentRow().setNewRowState(Row.STATUS_NEW)
を使用して、イテレータの現在の行を取得し、新しい行の状態をNEWに戻します。createRow()/insertRow()
をコールします。 デフォルトのブラウザが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ディスクリプタの挿入、更新、削除、読取りまたはすべて読取りのアクションに使用するカスタムSQLを定義できます。たとえば、デフォルトのTopLink readObject関数をカスタム・ストアド・プロシージャに置き換えるには、カスタムSQL文字列を追加して、カスタムSQLタブの「読取り」タブに置換コードを実装します。
次の手順を使用して、OracleAS TopLink Mapping Workbench 9.0.4.xプロジェクト(.mwp
)をOracle JDeveloper 10gにインポートしてください。この手順を実行する前に、Mapping Workbenchのオリジナル・プロジェクトのバックアップ・コピーを必ず作成してください。
Mapping Workbenchのプロジェクトをインポートする手順は次のとおりです。
\mw\table
ディレクトリでの指定に従って)必要なデータベース表を作成します。
注意: JDeveloperの表名、列名、外部キー制約がそれぞれ、Mapping Workbenchで対応する表名、フィールド名、参照名と同一であることを確認してください。 この名前が同一でない場合、JDeveloperがマッピング情報を正しくインポートしないこともあります。 |
toplink_mappings.mwp
ファイルを開き、次のように変更します。
<name>
要素の変更toplink_mappings
に変更します。<name>
要素の変換<データベース表>
要素には、各データベース表が<name>
要素で列挙されます。この<name>
には、カタログ、スキーマおよび表の名前が含まれる場合があります。それぞれの表を変更して、スキーマと表の名前だけが含まれるようにする必要があります。
データベース表の <name>要素 |
<name>要素の変換結果 |
---|---|
<name>Catalog.Schema.Table |
<name>Schema.Table</name> |
<name>Schema.Table</name> |
変換不要 |
<name>Table</name> |
<name>Schema.Table</name> |
<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>
<project name>
/src
フォルダのコンテンツを追加します。これによって、プロジェクトにソース・ファイルが直接追加されます。<project name>
/META-INF/ejb-jar.xml
ファイルと/src
ファイルをインポートします。
作業ユニットではオブジェクトの主キーを変更できません。これは、サポートされていない操作であり、この操作を行うと、予期しない動作が発生します(例外やデータの破損など)。一意の制約のあるオブジェクトの1つのインスタンスを別のオブジェクトと置き換えるには、作業ユニットのsetShouldPerformDeletesFirst
メソッドを使用します。詳細は、『Oracle Application Server TopLinkアプリケーション開発者ガイド』を参照してください。
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"属性エントリの作成は、次の手順で行うこともできます。
注意: 現在、製品版としてリリースされているOC4Jに対してEJBをデプロイする際は、orion-ejb-jar.xmlに永続マネージャ(persistence-manager)の設定を行った状態でデプロイすることはできません。
TopLinkテクノロジが選択されたプロジェクトに新しいクラス(.javaファイル)をインポートし、その後で「TopLink構造」ペインの「ディスクリプタを作成」ボタンをクリックしてこれらのクラスをマッピングしようとすると、oracle.toplink.workbench.external.meta.ExternalClassNotFoundException
エラーが発生する場合があります。このエラーを回避するには、初めてマッピングする前に、インポートしたクラスを1回コンパイルします。
コード・エディタでTopLinkデプロイメント・ディスクリプタを追加した後、「TopLinkマッピング」タブがコード・エディタに表示されない場合があります。その場合は、コード・エディタをいったん閉じてから開き直すと、「TopLinkマッピング」タブが表示されます。
表からJavaオブジェクト(およびTopLinkディスクリプタ)を作成した後、.javaファイルを不適切な構文の状態(たとえば、private Stri
)で変更してJDeveloperを閉じると、JDeveloperを再起動したときに、変更した.javaファイルのTopLinkディスクリプタが失われます。
TopLink Mapping Editorにアクセッサをメソッドとして表示するには、Mapping Editorを終了し、JDeveloperプロジェクトを保存してから、Mapping Editorを再起動します。これで、アクセッサはメソッドとして表示されます。
マッピングされた属性を変更したとき、「TopLink Mapping構造」ウィンドウが正しく更新されず、変更が反映されない場合があります。「TopLink Mapping構造」ウィンドウを更新させるには、変更を行った後でプロジェクトを保存する必要があります。
TopLink Mapping EditorにJAWSスクリーン・リーダーを使用すると、次のユーザー・インタフェース要素が正しく読み取られない場合があります。
ドル記号($)が含まれたクラス名は内部クラスです。TopLink Mapping Editorを使用して、それらのクラスに対してTopLinkディスクリプタを作成することはできません。
JDeveloperのTopLink Mapping Editorには10g固有のデータベース・ファイルが含まれていません。TopLink Mapping EditorでOracle10gデータベースを使用するには、Oracle9iデータベース・オプションを選択します。
TopLinkマッピングが設定されたJDeveloperプロジェクトを10.1.2に移行する場合、TopLinkSequenceOnCreate
および TopLinkShouldPerformDeleteFirst
パラメータはオプションであるため、移行先プロジェクトに含まれません。必要に応じて、構造ウィンドウまたはプロパティ・ウィンドウを使用して、これらのパラメータを追加する必要があります。詳細は、Javadocを参照してください。
TopLink Mapping Editorでは、デフォルトのTopLink問合せ(「すべて読取り」、「一度に読み込む」など)にキャッシュ・オプションを設定できません。たとえば、「キャッシュの使用方法」、「パラメータのバインド」、「タイムアウト」、「返す行数(最大行)」などの項目を変更できません。
Oracle Application Server 10g(10.1.2)にデプロイするときに、TopLink ADFデータ・バインディングを使用するには、JDeveloperで「ツール」→「ADF Runtime Installer」オプションを選択します。スタンドアロンOC4Jを使用する場合は、ADF Runtime Installerを使用する必要はありません。
TopLink sessions.xmlでデータベース・セッションを使用する場合は、接続プールを作成または使用しないでください。接続プールはサーバー・セッションにのみ使用します。
クラスをリファクタ(名前の変更または削除)しても、関連するTopLinkディスクリプタの名前の変更や削除が行われません。TopLinkディスクリプタの名前を変更するには、最初にディスクリプタをプロジェクトから削除してから、名前を変更したJavaクラスを再インポートします。新しいTopLinkディスクリプタは、新しいクラス名で作成されます。
JDeveloperでは、TopLink sessions.xmlのセッション名の先頭に空白を付加できますが、空白を付けると実行時に例外が発生します。セッション名の先頭には空白を付けないでください。
JDeveloperでデータ・コントロールを操作しているときに、DCXを変更してもCPXに反映されない場合があります。この問題を回避するには、DataControls(DCX)を変更する前にDataBindings(CPX)を変更してください。
TopLinkにマッピングされたオブジェクトが1:Mの関係にあり、双方向の関係を維持する場合、この関係の外部キー制約のソース列に非NULL制約があると、UnitOfWork.commit()の時にデータベースの整合性制約違反が発生する場合があります。この問題は、TopLinkを利用したADFアプリケーションでcommitのデータ・アクションを実行する場合に発生します。
対処方法:
マルチバイト文字列がsessions.xmlにある場合、sessions.xmlの「ソース」ビューに文字化けして表示されます。これは、表示上の問題です。sessions.xmlの「ソース」ビューは読取り専用であり、実際のsessions.xmlは正しくエンコードされます。
TopLinkDataControl dc =
(TopLinkDataControl) actionContext.getBindingContext().findDataControl("DataControlName");
if (! this.hasErrors(actionContext) )
{
dc.resetState();
}
また、コミット操作後にresetState()をコールして、状態のアンマップされた機能を明示的にリセットすることもできます。
WSDLドキュメントに関連したXMLスキーマはすべてW3Cサイトにあり、法律上の制約によって、ローカル・インストールにコピーできないため、JDeveloperはWSDLファイル・タイプにXML Schemaを事前登録していません。したがって、JDeveloperのXMLエディタでは、WSDLドキュメントにコード・インサイトを使用することはできません。
PL/SQL Webサービスを再生成した後、コンパイル・エラーが発生する場合があります。その原因は、再生成中にいくつかのファイルがプロジェクトから削除されるためです。この問題を解決するには、そのファイルを手動でプロジェクトに戻す必要があります。
ナビゲータでは、Webサービス・ノードを選択し、「アプリケーションに追加」ボタン(+記号)をクリックします。ダイアログでは\src\<package>
ディレクトリにナビゲートします。.sqljファイルをすべて選択して、「開く」をクリックします。これで、プロジェクトをコンパイルしてもエラーが発生しなくなります。
JAWSなどのアクセシビリティ・リーダーを使用する場合、Webサービスの検索ウィザードの使い方に注意が必要です。ウィザードの「tModel」ページでは、行が正常にロードされるまで待つ必要があります。それまでは「WSDLかどうか」列に有効値が返されません。 そのためにはまず、「説明」列に移動します。行のロード中は、「説明」列に「ロード中」と返されます。行がロードされたら、「説明」列にWebサービスの説明が返されます。これで「WSDLかどうか」列に移動して値を読めるようになります。
PL/SQL Webサービス・ウィザードのステップ1にはコンボ・ボックスがあり、そこではサービスの生成先プロジェクトを選択できます。ウィザードのステップ3に進むと、選択したプロジェクトのコンテキスト・ルートを使用して、Webサービスのエンドポイントが自動生成されたことがわかります。
ただし、ステップ1に戻って他のプロジェクトを選択してからステップ3に戻ると、Webサービスのエンドポイントの自動再生成が失敗し、エンドポイントには、最初に選択したプロジェクトのコンテキストがまだ反映されていることがわかります。
Webサービスの生成前に、ウィザードでエンドポイントを手動で更新し、プロジェクトの正しいコンテキスト・ルートを反映させる必要があります。この操作を行わないと、生成されたWSDLドキュメントのエンドポイントが間違ったものとなり、Webサービスにアクセスするためにスタブが生成されても、間違ったエンドポイントを指すようになります。このほかに、生成後にWebサービスを再編集し、再生成に正しいエンドポイントを反映させることもできます。
オブジェクト・タイプのパラメータまたは属性としてXMLTYPE
を使用するPL/SQL Webサービスでは、SYS.XMLTYPE
というスキーマ修飾名を含めた形式を使用する必要があります。
JDeveloperをインストールしたパスのフォルダのいずれかの名前にスペースが含まれている場合に、Webサービスを生成して、埋込みOC4Jサーバーで、またはOC4Jサーバーの外部インスタンスで実行すると、そのWebサービスをコールしたときにWebサービスへのスタブが異常終了します。
対処方法として、フォルダ名にスペースが含まれていないパスにJDeveloperをインストールします。
「Webサービス・スタブ/スケルトンの作成ウィザード」の「Webサービス記述を選択」ページでWSDL検証を行っても、http://schema.xmlsoap.org/soap/encoding/
のbase64
型のXMLスキーマを認識できません。その結果、WSDLファイルからは、この型を参照するサービスを生成できません。
名前にハイフンが入っているデータベース・パッケージのPL/SQL Webサービスを生成すると、ハイフン(-)はJava識別子に有効な文字列ではないため、JPublisherによって生成されるSQLJファイルは間違ったものになります。
対処方法として、JDeveloperによって生成されたSQLJファイルを編集し、パッケージ名の出現部分を引用符("")で囲んでから再ビルドします。
「ツール」→「設定」→「WS-Iテスト・ツール」で設定するWS-Iログ・ファイルの場所は、JDeveloperと同じシステム・ドライブにあることが必要です。別のドライブが設定された場合には、ログ・ファイルは作成されません。たとえば、JDeveloperがDドライブにインストールされている場合、WS-Iログ・ファイルの場所もDドライブにする必要があります。
JDeveloper 10.1.2では、WSDLドキュメントで定義可能なすべてのcomplexTypesのサブセットのみが認識されます。たとえば、WSDLのtypesセクションに次のタイプが出現する場合、スタブまたはスケルトンにはUnknownTypeへの参照が生成されます。
接続ウィンドウで、UDDIレジストリのツリーを開き、任意のWebサービスに対して右クリック・メニューから「レポートの表示」を選択して表示されるレポート情報ページ内の日本語が文字化けして表示される場合があります。このページは、選択されたWebサービスに関する情報をフォーマットし直して表示しているもので、実際のWebサービスの動作に影響するものではありません。この問題は次の方法で回避できます。
cd <JDev_Install>/jdev/lib
<J2SE_Install>/bin/jar xvf jdev.jar oracle/jdevimpl/webservices/uddi/report/uddiservicerpt.xsl
<xsl:output method="html" />
<xsl:output method="html" encoding="shift_jis"/>
: WindowsまたはUnixでSJIS環境の場合<xsl:output method="html" encoding="euc-jp"/>
: UnixでEUC環境の場合<JDev_Install>/jdev/bin/jdev.conf
をワードパッドで開き、最後に以下の文を追加します。
AddVMOption -Duddi.serviceReport.Stylesheet=<JDev_Install>/jdev/lib/oracle/jdevimpl/webservices/uddi/report/uddiservicerpt.xsl
Webサービス固有の移行情報については、「移行に関する問題」を参照してください。
ダイアグラムでモデル化されているクラスやインタフェースがあり、「ディスクから削除」を使用して、ナビゲータからそのクラスやインタフェースを削除しても、ダイアグラムには表示されたままになることがあります。この現象が発生するのは、クラスやインタフェースを作成後に保存してからJDeveloperを終了し、JDeveloperの次回起動時に、ナビゲータからクラスやインタフェースを削除したときです。
対処方法として、モデル化されたクラスやインタフェースを、ダイアグラムから手動で削除します。
ダイアグラムでモデル化されているEJBがあり、モデル化されたEJBのコンテキスト・メニューから「ディスクから削除」を選択しても、EJBはダイアグラムに表示されたままです。これを削除するには、EJBを選択し、「ファイル」→「<パッケージ名>から削除」を選択します。ダイアグラムでモデル化されているEJBがあり、ナビゲータでそのEJBに対して「ディスクから削除」を実行しても、モデル化されたEJBは表示されたままです。これを削除するには、ダイアグラム上でEJBを選択してコンテキスト・メニューから「ディスクから削除」を選択します。
対処方法としては、EJBを削除する前にダイアグラムを閉じ、その後でナビゲータからEJBを削除します。
ダイアグラムで制約が定義された要素がある場合に、制約を削除せずに要素を削除すると、「ダイアグラムに追加」ダイアログの「制約」ノードを開けなくなります。
「ツール」→「リファクタ」で、ダイアグラムのJavaクラスの名前をパッケージ名に変更すると(例、mypackage1.JavaClass1
からmypackage1
への変更)、ダイアグラムの別のクラスをモデル化しようとしたときにエラーが表示されます。このエラーが発生しないようにするには、モデル化されたクラスを、パッケージ名と同じ名前に変更しないでください。
CVS接続のリポジトリ・ルート値を表す文字列の中にドライブ文字がある場合、そのドライブ文字にスラッシュを2つ続けないでください(例、d//cvshome
)。そのかわり、リポジトリの修飾は次のどちらかで行ってください。1つは頭にスラッシュを使用すること(例、/d//cvshome
)、もう1つはドライブ文字の後ろにコロンを使用する方法です(例、d:\cvshome
)。
Oracle9i Application ServerへのWebDAV接続でファイルをロック解除する場合、JDeveloperを使用してそのファイルをロック解除することはできません。
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オプションの中には、(-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
ヘルプの使用時にスクロールするときは、スクロール・ボタンではなく、実際のスクロールバーを直接使用する必要があります。これは、Apple Bug #3748025です。
コンソール・ウィンドウで、この例外が表示されることがあります。この例外は無害で、JDeveloperにはまったく影響しません。
OS Xに付属するJava VMによって、コンソールに診断情報が表示されることがあります。この情報は無害です。
他のプラットフォームでは、アクティブな組込みウィンドウが濃い色で強調表示されます。Mac OS Xでは、強調表示されません。
ドラッグ・アンド・ドロップ操作によって、テーブル・コントロールの列または行を再配置できません。
OS Xでは、UIデバッガでUIアウトラインが表示されません。
一部のダイアログを起動したときに、フォーカスがテキスト・フィールドではなくボタンに設定されます。テキスト・フィールドをクリックしてフォーカスを設定するか、またはタブ移動してから入力します。
Web Startアプリケーションを作成する場合、JSPでJNLPファイルを動的に生成するのではなく、静的なJNLPファイルを選択してください。SafariではMIMEタイプが無視され、ファイル拡張子によってWeb Startを起動するかどうかが判断されます。
ドッキング可能なウィンドウをフローティングさせると、メニュー・バーが空になります。ウィンドウをIDEに再ドッキングすると、この状況は解消されます。この問題は、Apple Bug #3752818で報告されています。
JDeveloperのクイックJavadoc機能では、クラスのソード・コードへアクセスできることが前提となっています。Mac OS Xでは、src.jarは通常のJavaインストールの一部ではなく、Developer Toolsパッケージの一部になっています。このファイルは、J2SDKクラスのソースをクイックJavadocで使用するために必要です。
Mac OS Xでは、パレットのドラッグ・アンド・ドロップ操作を実行できません。パレット項目を選択して、ビジュアル・エディタでコンポーネントを表示する場所をクリックする必要があります。
JSP/HTMLビジュアル・エディタ上に日本語を入力すると、実際の入力位置とカーソル位置がずれて表示されることがあります。コード・エディタには、この問題はありません。
JDeveloperとJAWSの連携動作を設定する場合は、オンライン・ヘルプの手順に従って、http://java.sun.com/products/accessbridgeからaccessbridge-1_2.zipをダウンロードしてください。オンライン・ヘルプにあるスクリーン・リーダーの設定手順では、accessbridge-1_1.zipのダウンロードが推奨されていますが、これはAccess Bridgeの最新バージョンではありません。この手順は、Java Access Bridge 1.2が提供される前の情報です。
JDeveloper 10.1.2でJAWS 3.70を使用するときは、次の問題に注意してください。
「新規ギャラリ」ダイアログには使用可能な各オプションのテキストによる説明がありますが、JAWSでは読み取れず、そこにダイアログ上でタブ移動することはできません(2498024)。
ドロップダウン・リスト・ボックスの値が1つだけの場合、JAWSはその値を読み取れません。JAWS 5.0とAccess Bridge 1.1GAでは、この問題は解決されていますが、断続的に再発する可能性があります(3345137)。
対処方法: この問題が発生する場合は、フォーカスをリスト・ボックスまたはコンボ・ボックスに設定してから[↓]キーを押して、値リストを開きます。その後、項目を読み取ります。
JDeveloper 10.1.2でJAWS 3.70またはJAWS 5.0を使用するときは、次の問題に注意してください。
コンポーネント・パレットからJavaビジュアル・エディタにオブジェクトをドラッグ・アンド・ドロップするためのキーボード操作([Space]など)はありません(3682651)。
オフライン表の作成ウィザードのステップ4にある使用可能リストに、キーボード操作([Tab]キー)でナビゲートできません。対処方法: 「すべて移動」ボタンを使用して、リスト項目を「選択済」リスト・ボックスにいったん移動してから、「使用可能」リスト・ボックスに戻します。それ以降は、ダイアログのタブ順序に「使用可能」リストが含められます(3655901)。
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では、特に次の問題に注意してください。
コンテキスト・メニューは、スクリーン・リーダーによって読み取られません(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では、特に次の問題に注意してください。
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クラス・エディタの使用中に[Alt]キーを押しながら[Tab]キーを押すか、またはマッピング・エディタを開いたままで構造ペインをクリックすると、NULLポインタ例外の(javax.swing.SwingUtilities.getWindowAncestor(SwingUtilities.java:63))
を受け取ることがあります。この現象はめったに発生しませんが、J2SDKの不具合が原因です。この不具合は、J2SDKバージョン1.4.2_05以降では修正されています。
Windows XP Service Pack 2でJDeveloperまたはOC4Jを初めて実行するときは、Windowsのセキュリティ・アラートが表示されます。「ブロック解除」ボタンを1度クリックすると、これ以降、このアラートを受け取ることはありません。
SP2はすべてのポートをブロックします。OC4Jをブロック解除しても、デフォルト・ポートの8888はブロックされたままになります。そのため、外部のOC4J(ポート8888など)を使用するアプリケーションを実行するには、ファイアウォールの例外リストにポート8888を物理的に追加する必要があります。この作業を行う手順は次のとおりです。
JSPのメイク/実行時に、次のようなエラーが発生する可能性があります。これは、エラーで報告されているtaglibハンドラ・クラスが実際にクラスパスに存在する場合でも発生することがあります。
エラー(1): java.lang.ClassNotFoundException: エラー(1): taghandlerクラスをロードできません。
これは、WEB-INF/libに入っている一部のjarに未使用のtldがあり、その実装ライブラリがこのプロセスのクラスパスにないことに対する副作用と考えられます。この場合、次のいずれかを実行します。
マルチバイト環境でJDeveloperを使用すると、埋込みブラウザでマルチバイト文字がすべて四角で表示される場合があります。この障害が発生したら、<JDev_Install>/jdev/bin/jdev..confに対して次のオプションを使用してこの障害が発生しないようにしてください。
AddVMOption -Dice.pilots.html4.ignoreNonGenericFonts=true
現在、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. |