リリース・ノート
リリース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を初めて起動したときに、旧リリースのJDeveloperでのユーザー設定を移行するかどうかを尋ねる移行ダイアログが表示されます。このとき、JDeveloperのメイン・ウィンドウはまだ表示されていないので、このダイアログの親はユーザーのデスクトップとなります。したがって、Windowsのタスクバーに項目は表示されません。また、このダイアログそのものが、他の実行中のアプリケーションのウィンドウによって隠されることがあります。他の実行中のアプリケーションのウィンドウによって隠された場合、ユーザーにはJDeveloperがハングしているように見えるかもしれませんが、JDeveloperはハングしているのではなく、移行ダイアログへのユーザーの応答を待っているだけです。隠れているJDeveloperのダイアログを表示するには、他のアプリケーションを最小化するか、[Alt]を押しながら[Tab]を押して、実行中のアプリケーションを移行ダイアログに切り替えてください(JDeveloperの移行ダイアログはJava標準のコーヒー・カップのアイコンで表示されます)。
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ルート・ディレクトリへのフルパスを表しています。
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; }
この問題には、それぞれに簡単な解決方法があります。
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; } }
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; }
旧リリースで作成したUIX BC4JまたはBC4J UIX JSPのアプリケーションのプロジェクトをJDeveloper 10g に移行した直後に実行した場合、UIXのリソースおよびスタイルが正しく表示されません。これは、移行プロセスでは、製品の以前のリリースに関連するオブジェクトとファイルが削除されるのみで、新しいリソースが追加されないためです。次の手順でプロジェクトに最新のUIXのリソースおよびスタイルを追加する必要があります。
Chart Data Web Beanを使用したBC4J JSP Webアプリケーションを移行すると、凡例マーカーがオンの場合は java.lang.NullPointerException
がスローされます。これは、グラフのイメージをレンダリングするときに発生します。
対処方法:
c.getChart().setLegendDisplay(false);
JClientが提供するGUIコントロールを含む bc4jui.jar
は、本リリースから adfjclient.jar
に変更されました。JClientプロジェクトを以前のリリースからJDeveloper 10g に移行した場合は、adfjclient.jar
を含むように、プロジェクトのプロパティを更新してください。
旧リリースでJClientアプリケーションを開発するには、プロパティ・インスペクタを使用してバインドするデータを Model
または Document
プロパティで設定していました。JDeveloper 10g では、データ・コントロール・パレットを使用してドラッグ&ドロップでデータ・バインディングの設定が可能ですが、旧バージョンから移行されたプロジェクトでは、JDeveloper 10g の形式でのデータ・バインディングを使用することはできません。これは、フレームまたはパネルに、これまでの形式でのデータ・バインドと新しい形式でのデータ・バインドを混在させることができないためです。ただし、プロジェクトに新しいパネルもしくはフレームを追加する場合には、JDeveloper 10g が提供する新しい形式でのデータ・バインドを使用することができます。
データ・バインドに関する設定を編集または確認するために、プロパティ・インスペクタの model
プロパティからBinding Editorを起動した場合は、使用されているデータ・バインドの形式に応じて、それぞれに対応した表示およびコード生成がなされます。ただし、新規に作成するアプリケーションにおいて旧リリース形式でのデータ・バインドを使用することはできません。旧リリース形式でのデータ・バインドは旧リリースから移行されたプロジェクトでのみ使用することができます。
旧リリースの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サービスのプロジェクトをJDeveloper 10g に移行した後で、そのPL/SQL Webサービスを再生成しようとするとコンパイルができなくなります。この問題を回避するには、Webサービスを再生成する前に、Webサービスのパッケージに関連しているJavaファイル、およびそのサービスが使用しているオブジェクト・タイプを、すべてプロジェクトから削除してください。
旧リリースのJDeveloperで作成したWebサービスのプロジェクトをJDeveloper 10g に移行した後でを再生成すると、再生成されたインタフェースがデプロイメント・プロファイルから欠落することがあります。そのままデプロイした場合は、デプロイされたWebサービスにアクセスできなくなります。この問題を回避するには、デプロイメント・プロファイルのダイアログを使用して、欠落しているファイルを手動で組み込んでから、Webサービスを再デプロイしてください。
Oracle JDeveloper 10g には、Oracle Application Server 10g のOracle JDBCドライバが付属しています。このドライバがサポートしているデータベースのバージョンは次のとおりです。
注意: OCIドライバを使用するには、Oracle Clientがインストールされている必要があります。また、Oracle ClientのバージョンとJDBCドライバのバージョンが一致している必要があります。JDeveloperが提供するJDBCドライバとは異なるバージョンのJDBCドライバを使用するための設定については、オンライン・ヘルプを参照してください。
デフォルトでは、JDeveloperの埋込みOC4Jサーバーを使用してJ2EEアプリケーションを十分にテストしてから、ターゲットのアプリケーション・サーバーにデプロイできます。この埋込みサーバーの構成ファイルは、JDeveloperインストールの次の場所にあります。
<JDev_Install>/jdev/system####/oc4j-config
<Home_Directory>/system####/oc4j-config
JDeveloperにはOC4J 9.0.4も含まれています。これはスタンドアロン・モードで実行できます。スタンドアロン・サーバーの構成ファイルは次の場所にあります。
<JDev_Install>/j2ee/home/config
アプリケーションをスタンドアロン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にデプロイしようとしたときや、デプロイ後にアプリケーションを実行しようとしたときに、java.lang.OutOfMemoryError
を取得することがあります。
java.lang.OutOfMemoryError
が発生した場合の対処方法には、次の2つがあります。
-mx
フラグで最大ヒープ・サイズを指定して再起動します。次に例を示します。
Java -mx512M -jar oc4j.jar
-Doracle.j2ee.dont.use.memory.archive=true
フラグを指定して再起動します。次に例を示します。
Java -Doracle.j2ee.dont.use.memory.archive=true -jar oc4j.jar
OC4J上でUIX JSPアプリケーションを実行する場合に java.lang.LinkageError
が発生することがあります。これは、OC4Jが使用するクラスローダーの問題です。この問題は、次の手順で回避することができます。
<web-app-class-loader search-local-classes-first="true"/>
が記述されている場合は、そのエントリを削除します。Tomcatのバグのために、TomcatにデプロイしたJSPアプリケーションを実行するときに次のエラー・メッセージを受け取る可能性があります。
2つのパラメータ...または...のいずれかのみ、定義してください。
これは、Tomcatのタグ・プール・メカニズムのエラーが原因です。Tomcatはプールの後でタグを解放しないため、互換性のない属性が定義されている同一のタグを後で使用するとこのエラーが発生します。
このエラーが発生しないようにするには、Tomcatのタグ・プールを無効にする必要があります。
<tomcat_home>/conf/web.xml
をテキスト・エディタで開きます。<init-param> <param-name>enablePooling</param-name> <param-value>true</param-value> </init-param>
<param-value>
の値をfalse
に変更します。XSQL Page Processorは展開されていないWARファイルからXSQLページを読み込むことができません。そのためにXSQL Pageは、WebLogic 6.1/7.0、JBoss 3.0.4、およびTomcat 4.1.12では実行できません。
BEA提供のOracleクラスを使用する場合、WebLogicにデプロイされたアプリケーションの中には、型の互換性がないものがあります。このような問題が発生しないようにするには、サーバーのlibディレクトリにある classes12.zip
ファイルおよび classes12.jar
ファイルを、<JDev_Install>/jdbc/lib
ディレクトリにある classes12.jar
で置き換えます。
備考: <JDev_Install>
はJDeveloperのインストール・ディレクトリへのフルパスを表しています。
WebLogic6.1は、XMLファイルの Windows-1252
エンコーディングを認識できません。これは、WebLogic6.1のxmlparserの不具合です。JDeveloperのアプリケーションをWebLogic6.1にデプロイするには、WebLogic6.1が認識するIANAエンコーディングにエンコーディングを変更します。日本語環境であれば UTF-8
や Shift_JIS
エンコーディングなどを使用します。
たとえば、UTF-8エンコーディングを使用するように変更するための手順は次のとおりです。
この状態で、新規プロジェクトとアプリケーションを作成します。
EJBセッションFacadeとして設定されたBC4Jコンポーネントに対するJSPアプリケーションを作成した場合、そのプロジェクトの web.xml
に <ejb-ref>
エントリが設定が行われます。その後、Facadeのインタフェース・タイプをローカルからリモートに切り替えると、web.xml
の <ejb-ref>
エントリを更新する必要があります。
たとえば、Bean型をリモートからローカルに変更した場合は、web.xml
の <ejb-ref>
エントリを適切な <ejb-local-ref>
エントリで置換する必要があります。
ADF UIXテクノロジ・スコープのみが割り当てられているプロジェクトを操作するとき、「ファイル」→「新規」で起動される「新規ギャラリ」にデプロイメント・プロファイルの正しいリストが表示されません。フィルタを「プロジェクト・テクノロジ」から「すべてのテクノロジ」に切り替えると、デプロイメント・プロファイルの全リストが表示されます。
UIXアプリケーションをWebLogicサーバーにデプロイするには、次の追加手順が必要です。
例: webapp1.earがwebapp1.warを含んでいる場合
/webapp1
/webapp1/webapp1
META-INF/application.xml
ファイルで、WARファイルに変わり、展開したディレクトリを指定します。Oracle ADF固有の移行情報については、「移行に関する問題」を参照してください。
JDeveloper 10g では、データ・コントロール・パレットからData Actionにメソッドをドラッグ&ドロップすることで、コーディングなしにメソッドを実行させることができます。Data Pageにメソッドをドラッグ&ドロップすることも可能ですが、メソッドを実行するための専用のバインディング・コンテナを持つData Actionを作成して、その結果をData Pageにフォワードするようにしてください。
旧リリースのJDeveloperからJDeveloper 10g に移行されたアプリケーションでは、バッチ・モードは使用できません。バッチ・モードを使用できるのは、JDeveloper 10g でADF Binding Layerを使用して作成されたアプリケーションのみです。
バッチ・モードで実行する際には、カスタム・インタフェースで定義されたビュー・オブジェクトのメソッドもバッチモードで実行する必要があります。そのためには、次の手順が必要です。
この操作を行わないと、java.lang.ClassCastException
がスローされる場合があります。
JDeveloperのプロジェクト・オプションである「ソースパスをスキャンしてプロジェクト・コンテンツを設定」は、ADFビジネス・コンポーネントに対しては動作が保証されません。本リリースでは、プロジェクトにADFビジネス・コンポーネントが含まれている場合、このプロジェクト・オプションを使用しないでください。
このリリースのStrutsダイアグラミングでは、1つのワークスペース・プロジェクトでサポートできるStrutsダイアグラムは1つだけです。複数のStruts構成ファイルは、個々のプロジェクトに振り分けてください。詳細は、OTN-JのJDeveloperの製品ページ(http://otn.oracle.co.jp/products/jdev/)で公開されている『JDeveloper 10g での複数のStruts構成ファイル利用のための構成』を参照してください。
JDeveloper 10g では、Tileを使用したStrutsアプリケーションの開発が可能ですが、ページ・フロー・モデラーを使用することはできません。Struts構成ファイル(struts-config.xml
)をXMLエディタで直接編集するか、Struts構成エディタ、構造ウィンドウ、プロパティ・インスペクタなどの機能は、Tileベースのアプリケーションを開発するときにも使用できます。
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ページにインプット・フィールドなどのFORM要素を追加した際に、<FORM>
タグまたは <html:form>
タグが定義されていない場合には、<html:form>
タグを自動的に追加させることができます。ただし、ここで自動的に追加された<html:form>タグは、次のようなコードです。
<html:form action="/Handle_This_Form.do">
<html:form>
タグが自動的に追加された場合は、action
属性の値として指定された Handle_This_Form.do
の部分を作成中のアプリケーションに応じて編集してください。
Strutsページ・フロー・モデラーでの作業中に、フォワードを表す矢印のテキスト・ラベルがData Page/Data Actionを表すアイコンと表示が重なってしまうことがあります。このような状態でData Page/Data Actionに対してデータ・コントロール・パレットからメソッドをドラッグ&ドロップしてもうまく設定されない場合があります。データ・コントロール・パレットからメソッドをドラッグ&ドロップする前に、Data Page/Data Actionと表示が重ならないようにフォワードのテキスト・ラベルを移動するようにしてください。
データのフェッチまたは変更などの操作におけるパフォーマンスを最適化するには、同じアプリケーションやアプリケーション・フローの複数のバインディング・コンテナにおいて、イテレータ・バインディングに関連付けられた RowSetIterator
の使用すべてに対し、同じ rangeSize
を設定してください。
Beanアクセッサによって返されるスカラー属性は、本リリースのADF Data Bindingでは readonly
とマークされます。本リリースでは、この値の更新サポートは実装されていません。
スカラー属性を持たないBeanを <adf:render>
タグまたは <adf:inputrender>
タグを使用してレンダリングしようとすると、oracle.jbo.NoDefException
がスローされます。
本リリースでは oracle.jbo.domain.Array
型データを、データ・コントロール・パレットからドラッグ&ドロップしてData
PageやJClientアプリケーションにデータ・バインドすることはできません。このような機能は将来のリリースで対応する予定です。
ユーザーが定義のJavaBeansやEJBやWebサービスなど、ADF Business Components以外のテクノロジによって実装されたモデルでは、XMLファイルを編集して、メソッドの戻り値のコレクションのBeanクラスを指定することができますが、ADF Business Componentsで実装されたモデルではこの操作ができません。これにより、RowSet型を返すアプリケーション・モジュールのカスタム・メソッドの戻り値をユーザー・インタフェースにバインドすることはできません。
ADF Business Componentsの使用時に、アプリケーション・モジュールのデータ・モデルにビュー・リンクが使用されている場合、マスターのビュー・オブジェクトのRowSetIteratorの名前を指定しないでください。マスターのビュー・オブジェクトのRowSetIteratorに名前をつけると、ディテールのビュー・オブジェクトがデータを返しません。
Strutsを使用せずにADF Data Bindingを使用したJSPアプリケーションを作成することは可能ですが、ファイルをアップロードするアプリケーションの場合には、次のような追加手順が必要です。
<form>
タグで次のように enctype
属性が正しく設定されていることを確認します。
<form method="POST" action="upload.jsp" enctype="multipart/form-data">
<form>
タグ内に、<adf:inputrenderer/>
を追加します。model
属性には、アップロードするファイルのバインド名(次の例では Image
)を指定します。
<adf:inputrender model="bindings.Image" />
web.xml
へ次のようにServlet Filterの設定を追加します。
<filter> <filter-name>OrdMultipartFilter</filter-name> <filter-class>oracle.ord.im.OrdMultipartFilter</filter-class> </filter>これは、既存のADFBindingFilterエントリの直後に追加できます。
web.xml
ファイルへFilter Mappingの設定を次のように追加します。
<filter-mapping> <filter-name>OrdMultipartFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
複数のビジネス・サービスにアクセスするアプリケーションを構築する場合、Data ControlのIDは、Data Control File(.cpx
)内で一意である必要があります。アプリケーションの作成時にビジネス・サービスをデータ・コントロール・パレットにドラッグ&ドロップしてData
Contorlが追加された場合は、自動的にIDが一意に設定されます。Data ControlのIDは、プロパティ・インスペクタで変更することもできますが、他のData
ControlのIDと重複しないように注意してください。
JSPやUIXに映像または音声データをバインドした場合、ページをナビゲーション(「Next」や「Previous」などのボタンをクリック)すると、データを再生できなくなります。再び再生するには、ページを再読み込みしてください。ナビゲーションが発生するページにはコンテンツを再生するページのリンクのみを表示し、コンテンツの再生は別の画面で行うことでも回避できます。
JDeveloper 10g では、ADF JClientのinterMediaコントロールがデータ・コントロール・パレットで使用できなくなりました。つまり、開発者はアプリケーションの新規作成に際して、JClientのinterMediaコントロールが使用できなくなります。ただし下位互換性を維持するために、JDeveloper 10g には、必要なinterMediaライブラリが従来どおり同梱されています。以前のリリースのOracle JDeveloperのJClientアプリケーションでinterMediaを使用しているものは、ADF JClientにアップグレードしても引き続き使用できます。
本リリースのJClientアプリケーションでは、ADF Business Componentsのエンティティ・オブジェクト・エディタあるいはビュー・オブジェクト・エディタによってビジネス・コンポーネント属性に設定したツールチップ・テキストを表示することができません。ツールチップ・テキストはコーディングにより回避することができます。次の例は、Deptno
属性に指定されたツールチップ・テキストを表示させるためのコードです。
mDeptno.setToolTipText(panelBinding.findCtrlValueBinding("Deptno").getTooltip());
データ・コントロール・パレットを使用して、JClientパネルやフォームにJTableコントロールをドロップすると、その表には最初、選択したコレクションの属性(列)がすべて表示されます。表の表示属性のリストを変更するには、表バインディング・エディタを使用できますが、そこで行った変更は、ビジュアル・エディタに即座に反映されません。ビジュアル・エディタとフォームまたはパネルの UIModel.xml
ファイルに保存された表のバインディング情報を同期化するには、クラス・ファイルを再コンパイルするか、ビジュアル・エディタで表のサイズを変更してください。
旧リリースでは、既存のクライアント・データ・モデル(.cpx
ファイル)をナビゲータで右クリックすることでBusiness Components Data Model Definition Wizardを起動し、設定を変更することが可能でした。本リリースでは、この方法で設定を変更することはできません。.cpx
ファイルの設定を変更するには、ナビゲータで .cpx
ファイルを選択し、プロパティ・インスペクタを使用します。
エンティティ・オブジェクト・エディタやビュー・オブジェクト・エディタでビジネス・コンポーネント属性に設定した表示の幅と高さは、Javaビジュアル・エディタでコントロールをレンダリングする際には使用されません。
データ・コントロール・パレットからJClientパネルやフォームに、コレクションにバインドするコントロール(表、ツリー、リスト、グラフなど)を挿入したら、そのコントロールの幅と高さは0に設定されます。両方のサイズがゼロの場合、ビジュアル・エディタでコントロールのサイズを変更することができません。サイズ変更ができるようにコントロールを表示するには、構造ウィンドウでコントロールを選択して、プロパティ・インスペクタでサイズのプロパティを編集します。
JClientおよびADF Business Componentsを使用してOracleデータベースのオブジェクト型データの属性値にアクセスする場合、そのままではテキスト・フィールドなどで表示できません。オブジェクト型データの属性値をテキスト・フィールドに表示させるためには、パネルまたはフレームの jbInit()
メソッドがコールされた後で executeQuery()
を明示的に実行する必要があります。次の例は、Address
オブジェクトの Street
属性を表示するためのコードです。
panelBinding.findControlBinding("Street").getIteratorBinding().executeQuery();
executeQuery()
メソッドは、バインドされるすべてのオブジェクト・データ属性に対して1回ずつ実行する必要があります。
既存のADF JClientパネルは、次の手順で別のJClientパネルに追加することが可能です。
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固有の移行情報については、「移行に関する問題」を参照してください。
JDeveloperと今後リリースされるOracleAS TopLinkを併用するには、TopLinkの具体的なリリースへの依存性をすべて、プロジェクトのクラスパスに追加する必要があります。
次の手順を使用して、OracleAS TopLink Mapping Workbenchのプロジェクト(.mwp
)を、Oracle JDeveloper 10gにインポートしてください。この手順を実行する前に、Mapping Workbenchのオリジナル・プロジェクトのバックアップ・コピーを必ず作成してください。
Mapping Workbenchのプロジェクトをインポートする手順は次のとおりです。
\mw\table
ディレクトリでの指定に従って)必要なデータベース表を作成します。
注意: JDeveloperの表名、列名、外部キー制約がそれぞれ、Mapping Workbenchで対応する表名、フィールド名、参照名と同一であることを確認してください。この名前が同一でない場合、JDeveloperがマッピング情報を正しくインポートできないことがあります。
Mapping Workbenchのプロジェクトからコピーする要素 | JDeveloper内での配置先 |
---|---|
<file name>.mwp |
ファイル名を toplink_mappings.mwp に変更し、JDeveloperの <project name> ディレクトリに配置 |
descriptor ディレクトリ |
<project name>/descriptor |
Javaのソース・ファイルとディレクトリ構造 | <project name>/src |
EJB 2.0 CMPのプロジェクトの場合:
|
<project name>/META-INF |
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
ファイルをインポートします。作業ユニットではオブジェクトの主キーを変更できません。結果として例外や不正なデータの入力などの予期しない動作を引き起こします。一意キー制約を持つようなオブジェクト・インスタンスを他のインスタンスと置き換えるには、作業ユニットの setShouldPerformDeletesFirst
メソッドを使用します。詳細は『OracleAS 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"
属性エントリの作成は、次のようなプロセスで行うこともできます。
orion-ejb-jar.xml
を作成します。pm-name="toplink"
の属性エントリが、<entity-deployment>
タグに追加されます。注意: 現在、製品版としてリリースされているOC4Jに対してEJBをデプロイする際は、orion-ejb-jar.xml
に永続マネージャ(persistence-manager)の設定を行った状態でデプロイすることはできません。
テクノロジ・スコープにTopLinkが設定されたプロジェクトにJavaソースファイルをインポートし、構造ウィンドウでそれらをディスクリプタとして追加してマッピングを行う際に、oracle.toplink.workbench.external.meta.ExternalClassNotFoundException
が発生する場合があります。マッピングを始める前にインポートしたJavaソースファイルをコンパイルすることで、この例外の発生を回避することができます。
Toplink固有の移行情報については、「移行に関する問題」を参照してください。
WSDLドキュメントに関連したXMLスキーマはW3Cのサイトでのみ公開されており、現在はローカルファイルとしてコピーすることは許されていません。またJDeveloperでは起動時にW3Cへのネットワーク接続が可能かどうかのチェックを行うことができないため、JDeveloperにWSDLスキーマを登録することができません。これにより、本リリースのJDeveloperのXMLエディタでWSDLドキュメントを編集する場合は、コード・インサイトを使用することができません。
PL/SQL Webサービスを再生成した後、コンパイル・エラーが発生する場合があります。その原因は、再生成中にいくつかのファイルがプロジェクトから削除されるためです。この問題を解決するには、次の手順でプロジェクトから削除されたファイルを手動でプロジェクトに最追加する必要があります。
\src\<package>
ディレクトリにナビゲートします。.sqlj
ファイルをすべて選択して、「開く」をクリックします。これで、プロジェクトをコンパイルしてもエラーが発生しなくなります。
PL/SQL Webサービス・ウィザードのステップ1ではコンボ・ボックスによって作成したWebサービスを追加するプロジェクトを選択します。ウィザードのステップ3に進むと、選択したプロジェクトに設定されたコンテキスト・ルートを使用して、Webサービスのエンドポイントが自動生成されます。
ここで、ステップ1に戻って他のプロジェクトを選択してからステップ3に戻ると、Webサービスのエンドポイントの自動再生成に失敗し、エンドポイントは、最初に選択したプロジェクトのコンテキストが使用されています。この操作を行わないと、生成されたWSDLドキュメントのエンドポイントが間違ったものとなり、Webサービスにアクセスするためにスタブが生成されても、間違ったエンドポイントを指すようになります。
この問題を解消するには、次の2つの方法があります。
オブジェクト型のパラメータまたは属性として XMLTYPE
を使用するPL/SQL Webサービスでは、SYS.XMLTYPE
というスキーマ名を含めた形式で指定する必要があります。
JDeveloperをインストールしたパスのフォルダのいずれかの名前にスペースが含まれている場合(例: C:\Program Files
)に、生成したWebサービスを埋込みOC4Jサーバーまたは外部のOC4Jサーバーで実行すると、そのWebサービスをコールしたときにWebサービスへのスタブが異常終了します。
対処方法として、フォルダ名にスペースが含まれていないパスにJDeveloperをインストールします。
Webサービス・スタブ/スケルトン・ウィザードの「Webサービス記述を選択」ページでは、http://schema.xmlsoap.org/soap/encoding/ の base64 タイプのXMLスキーマを認識できません。結果として、WSDLファイルからは、この型を参照するサービスを生成できません。
スコープがsessionのSOAP Webサービスに対して、異なるクライアントがアクセスしても期待通りに新規セッションが開始しないことがあります。
パッケージ名にハイフン(-)を含むPL/SQLプログラムを元にPL/SQL Webサービスを生成すると、ハイフンがJava識別子として有効な文字列ではないため、JPublisherが不正なSQLJファイルを生成します。
JDeveloperによって生成されたSQLJファイルを編集し、パッケージ名の出現部分を引用符("")で囲んでから再ビルドしてください。
「ツール」→「設定」で起動される「設定」ダイアログの「WS-Iテスト・ツール」ページで指定するWS-Iログ・ファイルの保存先は、JDeveloperと同じシステム・ドライブにあることが必要です。別のドライブが指定された場合には、ログ・ファイルは作成されません。たとえば、JDeveloperをDドライブにインストールした場合は、WS-Iログ・ファイルの保存先もDドライブにする必要があります。
Webサービス固有の移行情報については、「移行に関する問題」を参照してください。
特定の状況下では、プロジェクトの.uitテンプレートの中に、UIXページに挿入するコンテキスト・メニューに表示されないものがあります。「すべて保存」操作を行うと、プロジェクトのテンプレートがすべて使用可能になります。
UIX Imageコンポーネント(<ui:image>
タグ)の source
属性を設定するとき、HTMLルート・ディレクトリの外に保存されているイメージ・ファイルを指定すると、JDeveloperによって自動的にHTMLルート・ディレクトリ以下にコピーされます。ただし、指定したイメージ・ファイルがJDeveloperがインストールされているドライブとは異なるドライブに保存されている場合、HTMLルート・ディレクトリへのファイルのコピーに失敗します。その場合は、手動でイメージ・ファイルをコピーしてください。
本リリースのUIX XMLページのプレビュー・ウィンドウでは、ADF Data Controlにバインドされた動的データを表示することはできません。
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エディタに次のような制限があります。
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ダイアグラムは、イメージ・ファイルへの書き出しや印刷ができません。
ダイアグラムでモデル化されているクラスやインタフェースがあり、「ディスクから削除」を使用して、ナビゲータからそのクラスやインタフェースを削除しても、ダイアグラムには表示されたままになることがあります。この現象が発生するのは、クラスやインタフェースを作成後に保存してからJDeveloperを終了し、JDeveloperの次回起動時に、ナビゲータからクラスやインタフェースを削除したときです。この場合は、モデル化されたクラスやインタフェースを、ダイアグラムから手動で削除してください。
ダイアグラムによりモデル化されたEJBを削除するために次のような操作を行った場合、EJBにダイアグラムが表示されたままになります。
モデル化されたEJBを削除するには、EJBを削除する前にダイアグラムを閉じてから、ナビゲータで削除するEJBを右クリックして、コンテキスト・メニューから「ディスクから削除」を選択します。
ダイアグラムの操作によっては、既存のダイアグラム・ページの外側に要素が配置されることがありますが、その図形を表示するページは新たに追加されない場合があります。その場合は、ダイアグラムを保存した後で閉じてます。再びダイアグラムを開くと新たなページが追加され、すべての要素が表示されるようになります。
制約が定義された要素を、制約を削除する前にディスクから削除すると、ダイアグラムのコンテキスト・メニュー「ダイアグラムに追加」を実行すると起動される「ダイアグラムに追加」ダイアログで「Constraints」ノードを展開することができなくなります。
「ツール」→「リファクタ」で、ダイアグラムのJavaクラスの名前をパッケージ名に変更すると(例、mypackage1.JavaClass1
から mypackage1
への変更)、ダイアグラムの別のクラスをモデル化しようとしたときにエラーが表示されます。このエラーが発生しないようにするには、モデル化されたクラスを、パッケージ名と同じ名前に変更しないでください。
異なるプロジェクトで作成したUMLクラス・ダイアグラムなどのダイアグラムをプロジェクトに追加する際に「プロジェクトに追加できません」というタイトルのダイアログが表示され、次のようなメッセージが表示されることがあります。
モデル・ファイル<ダイアグラム・ファイルのパス>は、このプロジェクトのモデル・パスにすでに存在しています。
このメッセージ・ダイアグラムが表示された場合は、「了解」をクリックするとダイアグラムがプロジェクトに追加されます。
Windows環境にインストールされたCVSサーバーに対するNT PSERVER接続を定義する時にリポジトリ・ルートを指定する場合、書式に注意が必要です。例えば、リポジトリ・ルートが D:\cvsrep
の場合、次のいずれかの書式で指定する必要があります。
D:\cvsrep
/D//cvsrep
Strutsページ・フロー図とデータ・ページを作成すると、standard.jar
ファイルがプロジェクトに追加されます。「モジュールのインポート」ウィザードを使用してCVSにプロジェクトをインポートする前に、CVSROOTモジュールで cvswrappers
ファイルを編集して、CVSリポジトリがすべての .jar
ファイルを、テキストでなくバイナリとして扱うように設定してください。この作業は次の手順で行います。
*Jar -k 'b' *Jar -m COPY
接続ナビゲータでローカル・リポジトリに対して定義されたCVSローカルのノードを開いた場合に、CVSサーバーがインストールされていないとJDeveloperがハングしてしまいます。JDeveloperからローカル・リポジトリにアクセスする場合には、CVSサーバーもインストールしてください。
Oracle9i ASサーバーへのWebDAV接続でファイルをロック解除する場合、JDeveloperを使用してそのファイルをロック解除することはできません。
Linux、SolarisなどのUNIXプラットフォームでは、ADFエンティティ・オブジェクトに対してJAAS認証を利用する前に、JDeveloperを実行しているユーザーが、ファイル jazn-data.xml
に対する書込みの権限を有していることを確認してください。
Solaris 8上のOC4JにChart DataWebBeanを使用したJSPアプリケーションをデプロイすると、java.lang.NoClassDefFoundError
が発生することがあります。これは、サーバー側でXServerが起動していないか、リモートのワークステーション側の DISPLAY
環境変数が正しく設定されていないためです。この問題は次の手順で対処してください。
ps -ef | grep Xsunこのコマンドによって結果が返されたら、Xtermプロセスが機能しています。結果が返されなかったら、サーバーでXtermを起動してください
xhost +
この手順は、サーバーまたはワークステーションが再起動されるたびに必要です。
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オプションの中には、(-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上でJDeveloperを使用している場合、コンポーネント・パレットからダイアグラム(Javaクラス・ダイアグラムやEJBダイアグラムなど)にドラッグ&ドロップで追加された要素は、デフォルトの名前で確定してしまいます。この問題を回避するには、ドラッグ&ドロップではなく、コンポーネント・パレットで要素を表すアイコンを選択してからダイアグラムをクリックしてください。
Javaクラス・ダイアグラムでJavaクラスを追加すると次のようなダイアログが表示されることがあります。
エラーが発生しました。処理を続行できません。
このダイアログで「OK」をクリックすると、ダイアグラムから追加した要素が消えてしまいます。Javaのソース・ファイルが生成され、アプリケーション・ナビゲータに表示されていますが、ファイルを開くと空になっています。この問題が発生した場合は、操作をやり直すことで、ダイアグラムおよびソース・ファイルは正しく生成されます。
JDeveloperから起動されるSQL*Plusで日本語の文字化けが発生する可能性があります。これは、JDeveloperから起動される際に適切なリソースファイルを参照することができないためです。この場合、コンソールからJDeveloperを起動する際、または <JDev_Install>/jdev/bin/jdev
スクリプトに環境変数 XAPPLRESDIR
を設定してください。
JSPアプリケーションをコンパイルまたは実行する際に、次のようなエラー・メッセージが表示されることがあります。
Error(1): java.lang.ClassNotFoundException: Error(1): タグ・ハンドラ・クラス...がロードできません
このエラーは、WEB-INF/lib
ディレクトリにJSPページで使用していないタグ・ライブラリのTLDファイルが含まれていて、その実装クラスを含むライブラリがクラスパスにない場合に発生します。このエラーは、次のいずれかの方法で解消できます。
<HTML_Root>/WEB-INF/lib
から使用していないTLDファイルを含むJARファイルを削除する<HTML_Root>/WEB-INF/lib
に含まれるTLDファイルの実装クラスを含むライブラリをクラスパスに追加する備考: <HTML_Root>
はプロジェクトのHTMLルート・ディレクトリへのフルパスを表しています。
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のインストール・ディレクトリへのフルパスを表しています。
JDeveloperのJSP/HTMLエディタは、<HEAD>
タグ内に記述された
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=***"/>
を元に自動的にファイルのエンコーディングを認識しています。ただし、エンコーディングを指定する <meta>
タグがファイルの先頭から2000byte以内に記述されていないと、エンコーディングを認識できないことがあります。JSP/HTMLエディタがエンコーディングを誤認識している場合は、<meta>
タグが記述されている位置を確認してみてください。
アプリケーション・ナビゲータまたはシステム・ナビゲータで、ノード上で[Enter]キーを押すと、そのファイルに対してビジュアル・エディタが起動します。ビジュアル・エディタでなくコード・エディタでファイルを表示するなど、ドキュメントに対して他に使用できるエディタに切り替えるには、[Alt]を押しながら[Page Up]または[Page Down]を押します。すべてのエディタは、「ウィンドウ」→「移動先」→「右のエディタ」および「ウィンドウ」→「移動先」→「左のエディタ」というメニュー・コマンドをサポートしています。
構造ウィンドウのタブをキーボード操作で切り替えるには、[Tab]を押して構造ツリーからタブ・ヘッダーにフォーカスを移動します。次に、[Alt]を押しながら、[→]または[←]を押します。
データ・コントロール・パレットからドラッグ&ドロップで「Next」、「Previous」、「NextSet」、「PreviousSet」、「Commit」、「Rollback」などのボタンを追加した場合、Internet Explorerなどで実行した場合はアプリケーションのステータスに応じて使用可能/不可能が自動的に切り替わります。例えば、ユーザーがデータの更新処理を行うまでの間は、「Commit」および「Rollback」ボタンは使用不可になります。
しかし、Netscape 4.79ではこれらのボタンは常に使用可能です。
ファイル・パスにプラス記号(+)が入っていると、コンパイル・エラーが発生する可能性があります。
データベースからのインポートおよびデータベースへの生成は、Oracle以外のデータベースに対しては保証されていません。
XMLドキュメントに構文エラーがある状態で、構造ペイン上で選択している要素を変更すると、プロパティ・インスペクタには属性が表示されません。この問題に対処するには、プロパティ・インスペクタで編集する前に、XMLドキュメントの構文エラーを修正してください。
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 |
Worldwide Inquiries: |
Copyright © 2004, Oracle Corporation.All Rights Reserved. |