リリース・ノート
リリース 2(9.0.2)
2002年9月
部品番号: J06595-01
Oracle9i JDeveloperは、E-BusinessアプリケーションやWebサービスに対する設計、開発、デバッグ、デプロイといったJ2EE(JavaTM 2 Platform Enterprise Edition)による開発を完全にサポートします。
最大限の開発生産性を確保するため、JDeveloperは開発のライフサイクルを完全にサポートするための包括的な統合ツール群を提供します。アプレット、JavaBeans、JavaServer Pages(JSP)、Servlet、Enterprise JavaBeans(EJB)などに対するハイクォリティな、ウィザード、エディタ、ビジュアル設計ツール、デプロイ機能によって、J2EE開発が大幅に簡易化されます。また、JDeveloperは共通のアドインAPIを開発環境にあわせて拡張したりカスタマイズすることはもちろんのこと、他社製品をシームレスに統合することも可能です。
さらに、スケーラブルでハイ・パフォーマンスなJ2EEアプリケーションを簡単に開発するため、JDeveloperはBusiness Components for Java(BC4J)と呼ばれるオープンかつ拡張されたJ2EEデータアクセス・フレームワークを提供します。BC4Jは洗練されたJ2EEアプリケーションを素早く開発することを可能にするためにSunが提供するJ2EEデザイン・パターンを実装したオブジェクト/リレーショナル・マッピングを実現します。
このリリースの詳細に関しては、Oracle Technology Network Japan(http://otn.oracle.co.jp/)より情報が提供されます。また、Oracle9i JDeveloperに関するディスカッション・フォーラムも用意されており、そこでユーザー間の交流を深めることができます。
なお、本リリース・ノートではオペレーティング・システム上のディレクトリを以下のように表記します。
<ORACLE_HOME>:iDSのインストール・ディレクトリ。
<JDev_HOME>:Oracle9i JDeveloperのインストール・ディレクトリ。通常はiDSのインストール・ディレクトリと一致します。
<JDev_USER>:Oracle9i JDeveloperのユーザー・ディレクトリ。
<JDev32_HOME>:JDeveloper3.2のインストール・ディレクトリ。
Solaris/Linux環境ではリリース・ノート中の"system"および"mywork"ディレクトリは、<JDev_HOME>の下ではなく<JDev_USER>の下になります。適宜読み替えてください。
本リリースでは、以下の制限事項があります。
JDeveloperはデータベースやアプリケーション・サーバーといったプラットフォーム製品と組合わせてJava、J2EEによるアプリケーション開発をおこなうことができます。これは、オープンな仕様に基づいた他社製のSQL92準拠データベースやJ2EE準拠アプリケーション・サーバーを組合わせて使用できることを意味します。なお、動作検証はOracle9i DatabaseおよびOracle9i Application Serverの組合わせで行われています。
J2EEに準拠したアプリケーションを作成することと、単にモジュール化された高性能なアプリケーションを作成することには大きな違いがあります。OTN-JのJDeveloperについてのページで参照可能なホワイトペーパー「J2EEデザイン・パターンに基づくデータアクセスの実現」には、J2EEの標準的手法に準拠したフレームワークであるBusiness Components for Java(BC4J)によるソリューションの説明が記載されています。J2EEデザイン・パターンに基づく機能が既に実装されているため、通常は必要な手動の多量コーディングを劇的に軽減でき、J2EEテクノロジを活用するソリューションが簡単に実現可能です。
Oracle9i JDeveloperではDACの設計機能はサポートされません。DACは、旧リリースではデータベース対応コントロールと呼ばれていました。これは、標準的なSwingベースのMVCモデルとしてアプリケーションを構築できるように改良が加えられ、JClientと呼ばれるアプリケーション開発フレームワークへ変更されました。
環境によっては、WindowsでJDeveloperを起動してもフリーズしてしまう場合があります。この問題を回避するためには以下の手順でスタートメニューに登録されたショートカットの起動パラメータの修正をおこなってください。当変更によって問題が発生することはありません。
JDeveloperを実行する際、起動に非常に長い時間がかかる場合があります。これはアンチウィルス・ソフトのリアルタイム監視が影響している可能性があります。その場合はリアルタイム監視を無効にする、もしくはJDeveloperのディレクトリを監視対象外にすれば問題を回避できます。
DACプロジェクトをJDeveloper 3.2から直接Oracle9i JDeveloperに移行する場合、プロジェクトのクラスパスに次のどちらかのライブラリを追加する必要があります。
警告: プロジェクトを新しい場所にコピーせずにJDeveloper 3.2のBC4J JSPをOracle9i JDeveloperで開くと、そのプロジェクトはOracle9i JDeveloper(J2EE)対応のプロジェクトに変換されます。また、共通のHTMLルート内の同じ/webapp
ディレクトリを使用する他のBC4J JSPプロジェクトも使用できなくなります。
これを回避するには、3.2のBC4J JSPプロジェクトおよび共通のHTMLルートをコピーして、オリジナルではなくコピーの方を移行してください。
JDeveloper 3.2内のプロジェクトをOracle9i JDeveloperの形式へ変換してしまい、その後でJDeveloper 3.2のBC4J JSPプロジェクトで作業を続行する場合は、次の手順に従います。
/WEB-INF
ディレクトリ(デフォルトでは<JDev32_HOME>/myhtml
内)を削除します。 <JDev32_HOME>/myhtml
内)の/webapp_old
ディレクトリを/webapp
のように名前を変更します。
bc4j.ear
ファイルJDeveloper 3.2からWebアプリケーションを移行すると、Oracle9i JDeveloperはbc4j.earファイルをプロジェクトに追加します。このファイルはBC4J Webアプリケーションには必要ですが、他のアプリケーションには必要ありません。必要ないアプリケーションの場合、このファイルを無視し、IDEから削除できます。
Oracle9i JDeveloperのEAP版からJSPを含むプロジェクトを移行する場合、以降の変更がプロジェクトの実行時に表示されない場合があります。この問題を修正するには、プロジェクトから出力ディレクトリを削除し、プロジェクトを再構築する必要があります。
同じ名前のEJBをJDeveloperからWebLogicへ配布しようとすると、次のメッセージが表示されます。
Application <EJB名> already exists. To redeploy, use update, not deploy.
回避策として、まず最初にWebLogic管理コンソールを使用してEJBを削除した後で、JDeveloperからEJB配布プロファイルを用いて再配布してください。
すでにweblogic-ejb-jar.xml
デプロイメント・ディスクリプタを持つプロジェクトに、あとから追加されたEJBが正しく反映されない場合があります。必ずプロジェクト内のすべてのEJBを作成してから、プロジェクトにweblogic-ejb-jar.xml
デプロイメント・ディスクリプタを追加してください。
埋込みOC4JサーバーにリモートのEJBセッションBeanとして配布されているBC4Jアプリケーションに対して、Business Component Browserを実行すると失敗します。これは正しいビジネス・コンポーネント構成(bc4j.xcfg)が自動では生成されないためです。手動で適切な構成を作成することで対処できます。
VisiBrokerバインド・モードでBC4Jエクスポート・メソッドを実行中に例外が発生した場合、アプリケーションを再度実行する前に次のタスクを実行してください。
BC4Jクライアントを開発するプロジェクトでは、開発対象とするBC4Jの中間層ロジックの配布プロファイルから生成されるjarファイルをライブラリとして構成します。このため、その後で中間層のプロジェクトの配布プロファイルが変更されると、クライアント・プロジェクトからの接続ができなくなります。
Oracle9i JDeveloperでは、埋込みOC4Jサーバーのorion-application.xmlに対して、<jazn>や<jazn-web-app>要素を追加するといった、手動での設定追加をしても有効になりません。これは、Oracle9i JDeveloper から実行されるたびに 自動で再作成されているためです。実行時に、追加したい属性情報がある場合は以下の方法を行うことができます。
たとえば、Workspace1.jwsという名前のワークスペースがあり、埋込みOC4Jサーバーを使用してWorkspace1上のプロジェクトを実行する場合、Workspace1-oc4j-app.xmlという名前のファイルが、Workspace1.jwsと同じディレクトリ上に自動的に作成されます。
Workspace1-oc4j-app.xmlとorion-application.xmlの内容はほぼ同じで、Workspace1固有のJ2EEアプリケーション設定を表します。
Workspace1-oc4j-app.xmlでは、たとえば、 <user-manager>要素または<jazn>および<jazn-web-app>要素を追加して、OC4Jでログイン認証を処理する方法を指定できます。
次の手順を実行しないとWorkspace1-oc4j-app.xmlを作成できないので、注意してください。
「プロジェクトの設定」ダイアログでプロジェクトのモデル・パスにディレクトリを追加する場合、必ずそのディレクトリが、モデル内の特定のパッケージの場所ではなくモデルのルートを表すようにしてください。モデル要素のルートをモデル・パスで指定しないと、予期しない影響をプロジェクトに及ぼし、新規のモデル要素を作成できなくなる場合があります。
モデル要素またはダイアグラムのファイルをソース・コントロール・システムで管理している場合、それらの情報をディスクに書き込んだ後でソース・コントロール操作を実行することをお薦めします。モデル要素またはダイアグラムのファイルがメモリーにしかない状態(ディスクに保存されていない状態)でソース・コントロール操作を実行すると、メモリーに保持されている情報がディスクにある情報で上書きされる可能性があります。モデル要素またはダイアグラムのファイルが不整合をおこさないために、ディスクに保存した後で、ソース・コントロール操作を実行することをお奨めします。
JDeveloperでプロジェクトのモデル・パスを変更するには、最初に現在開いているすべてのダイアグラムを閉じて、JDeveloperを再起動します。「プロジェクト」->「プロジェクトの設定」->「モデラー」にあるプロジェクトのモデル・パスを編集します。この手順に従わずにモデル・パスを変更すると、予期しない結果になる場合があります。
クラス・モデラーでモデル化された要素からJavaソースを生成した場合、その後で生成したJavaソース・ファイルの名前の変更、移動または削除を行うと、次にそのモデル要素の定義を変更したとき、クラス・モデラーはモデル化された要素からスケルトンJavaクラスを再生成します。ただし、ある状況下ではこれは起こりません。生成したJavaソース・ファイルの名前の変更や移動を行う前に、ソース・ファイルのバックアップを取っておくことをお薦めします。
ドメインおよびその属性の作成を、クラス図だけで(ドメインのダイアログを開くことなく)行った場合、そのドメインに対応するOracleオブジェクト型の名前として"CHAR"が設定されてしまいます。このため、このドメインに対するデータベース・オブジェクトを生成することはできません。データベース・オブジェクトを生成するには、クラス図から「ドメイン」プロパティ・ダイアログを開き、「Oracleオブジェクト型」フィールドで有効なOracleオブジェクト名を指定してドメインを再生成します。
多数のJavaクラスをUMLクラス・モデルにリバース・エンジニアリングすると、処理には数分かかり、進捗ダイアログも表示されません。
Oracle9i SCM Repository Object Navigator(RON)を使用してファイル・システムへのダウンロードまたはファイル・システムとの同期化が行われたとしても、そのままではJDeveloperでは、ダウンロードされたファイルが認識されません。RONにより格納されたマッピング情報は、JDeveloperでは直接利用できないためです。
Oracle9i SCM連携を使用して、プライベート・ブランチ作成し、それを終了する際に、「ファイル・システムのファイルを判断できません」というエラー・メッセージが表示される場合があります。これは、同一マシンで一度に複数のJDeveloperのインスタンスが実行されている場合に起こります。この問題に対処するには、JDeveloperのインスタンスを1つを残して閉じ、操作を再実行します。
Oracle9i SCMフォルダをJDeveloperを使用してチェックインすることはできません。マージを行うと、結果のウィンドウにチェックアウトされたフォルダが表示されますが、このフォルダはチェックインできません。また、チェックアウトされているフォルダで、チェックアウトのリスト表示ユーティリティが使用されている場合もあります。フォルダのチェックインには、Oracle9i SCM Repository Object Navigatorを使用してください。
Oracle9i SCMリポジトリに対するファイル操作の際に、警告が表示される場合があります。この警告がJDeveloperの他 のウィンドウの後ろに隠れてしまう場合があります。エディタまたはナビゲータをクリックすると、この警告がJDeveloperの他のウィンドウの後ろに隠れてしまう場合があります。この警告を他のウィンドウより前に表示するには、Windowsの場合、[Alt]を押しながら[Tab]を押します。他のオペレーティング・システムの場合は、タスクを切り替えます。
Linux環境でOracle9i SCMを使用する際にVersion History Viewer(VHV)およびVersion Event Viewer(VEV)で使用されている半角カナ文字が□(四角)で表示される場合があります。その場合は、半角カナ文字のフォントを追加し、<JDev_HOME>/jdev/bin/jdev.confファイル内のSetJavaHomeで指定されているJDK下にあるfont.properteis.jaファイルを編集してください。
font.properteis.jaファイルの編集に関する詳細は、下記のサイトを参照してください。
http://java.sun.com/j2se/1.3/ja/docs/ja/guide/intl/fontprop.html
JDeveloperを使用してファイルのマージ、チェックインまたはチェックアウトなどのソース・コントロール操作を行った後、そのファイルに対しVHVを使用した操作を行わないでください。
Oracle9i SCMマージ・ツールを使用して特定のファイル・タイプをマージする場合、Oracle9i SCMリポジトリ管理者は、そのファイル・タイプをテキスト・ファイルとしてOracle9i SCMリポジトリ・ファイル・レジストリに登録する必要があります。マージする際にテキスト・ファイルとして登録されていないファイルについては、バイナリ・マージが行われ、チェックイン・バージョンによってチェックアウト・バージョンが上書きコピーされます。
テキスト・ファイルとしての登録が望ましいファイルには、次のファイルがあります。
ソース・コントロールSCM API Javadocは、オンライン・ドキュメントの記載とは異なるディレクトリにあります。<JDev_HOME>/jdev/docではなく、<JDev_HOME>/jdev/doc/ohjにあります。
Oracle9i JDeveloperとともに使用できるのは、Oracle Repository 6i (6.5.69)以上です。
Web-based Distributed Authoring and Versioning(WebDAV)は、HTTPプロトコルの拡張機能の1つで、リモートWebサーバー上のファイルへのアクセスを可能にします。
重要: Oracle9i JDeveloperでWebDAV接続を使用する前に、まずOTNからWebDAVアドインをインストールする必要があります。詳細は、『Oracle9i Developer Suiteインストレーション・ガイド』を参照してください。
http://<hostname>:7777<port>/<Folder_Name>/
のように指定します。
JDeveloperのWebサービス機能では、多数のXMLファイルが生成されます。XMLファイルに関するポップアップ・メニューのオプションの1つに、「XML構文のチェック」があります。これをJDeveloperで生成されたXMLファイルに対して実行すると、エラーが表示されますが、このエラーは無視してかまいません。JDeveloperで生成されるXMLファイルは、整形式で妥当な文書です。
WSDLファイルは、XML Schemaタイプのシステムで表現された場合に同一のシグネチャにマッピングされる、2つのオーバーロードされたメソッド・シグネチャを含むクラスから作成できます。次に例を示します。
public class Class1 { public Integer echoInteger(Integer i) { return i; } public int echoInteger(int i) { return i; } }
このクラスをWebサービス公開ウィザードで指定すると、両方のメソッド・シグネチャをまったく同様に記述したWSDLファイルが作成されます。このWSDLファイルを使用してスタブを生成すると、まったく同一のメソッドが生成され、コンパイル・エラーが起こります。
これは、JavaとWSDLのデータ型バインドに関する制限です。
特定の状況では、Webサービス・エンドポイントのホスト名のドメインが適切に解決されない場合があります。この場合、生成されたWSDL内のエンドポイントを手動で編集し、Webサービスの正しい場所を直接IPアドレスで記述してください。
Webサービス公開ウィザードで選択したアプリケーション・サーバーへの接続の設定で、ポート番号を指定したURLを設定している場合、Webサービス公開ウィザードによって生成されるWDSLファイル内のlocationの指定先はアプリケーション・サーバーへの接続で設定されているホスト名とはならずlocalhostとなります。
その場合は、生成されたWSDLファイルのlocationのURLを正しいホスト名に書き換えてください。
SOAP Webサービスが定義されたプロジェクトの場合、Webサービス・スタブ/スケルトン・ウィザードでプロジェクトのWSDLドキュメントごとに2つのエントリが表示されます。どちらのエントリを選択してもかまいません。
JDeveloperのWebサービス公開ウィザードを使用してJ2EE Webサービスを作成すると、Webサービス・インタフェースが常に生成されます。
Webサービスとして公開済みのメソッドを含むベース・クラスから、公開されたメソッドを削除して、その後に新規の公開メソッドを定義すると、Webサービスの再編集時に公開ウィザードが正しく動作しません。あとから、このクラスに別のメソッドを追加した場合、その該当するメソッドの前に以下のJavaDocコメントを追加して再コンパイルしてください。
/** * @webmethod */
配布後に<ORACLE_HOME>/j2ee/home/applications/soap/soap/WEB-INF/soap.xmlファイルに以下の記述を追加してください。
<osc:serviceManager>
<osc:option name="autoDeploy" value="true" />
</osc:serviceManager>
デフォルト設定でBC4Jの配布をおこなうと、BC4Jのアプリケーション・モジュール・プーリングに必要な内部接続を得るために、EJBコンテナのデータソースが使用されます。このデータソースはプールされないデータソースとして実装されます。結果として、この場所を使用することにより、ステートフル・セッションの存続期間中、JDBC接続時間が過度に長くなる場合があります。
この問題を回避するため、アプリケーションの開発者は、JDBC接続を得るためデータソースではなくBC4J接続プールを使用するように、アプリケーションを構成する必要があります。内部接続にBC4J接続プールを使用する場合は、アプリケーション・モジュールについて配布プロファイルが作成された後、次の手順を実行してください。
jdbc:oracle:thin:<username>/<password>@<host>:<port>:<sid>
ワークスペース内に複数のBC4Jプロジェクトを作成する場合は、パッケージ名に同一の名前を使用しないことをお勧めします。ワークスペース内にパッケージ名の同じBC4Jプロジェクトが存在する場合、BC4Jクライアント・アプリケーションは、クラスパス内にある最初のプロジェクトのみを参照し、適切なBC4Jプロジェクトを選択できません。
Business Component Browserを使用してXML形式にデータを出力するときに、出力されるデータのエンコーディングはUTF-8となります。
必須属性を持つドメインをエンティティ・オブジェクトに属性の型として使用する場合、データベース列の名前をJDeveloperによってデフォルトで生成される名前から変更できません。
BC4J Admin Utilityにおいて、アプリケーション・モジュールに関する情報に日本語が含まれていると、表示される日本語が文字化けする問題があります。これは、BC4J Admin Utilityを構成するJSPページのcharset設定をshift_jisなどの適切な値に変更することで正しく表示できるようになります。
Business Component Browserは、CMT Beanに基づいたアプリケーション・モジュールに対するテストには使用できません。
ヘルプ・ナビゲータでBC4JドメインのJavadocを表示すると、bc4jjavadoc.zipに含まれるドキュメントを参照できます。
ただし、BC4JドメインのJavadocは、全部で3つのファイルがあります。
bc4jdomorcldoc.zipまたはbc4jdomgnrcdoc.zip(もしくは特定のクラス)のJavadocを参照するには、ソース・コードで対象となるクラスを右クリックし、「Javadocを参照」を選択します。
マルチユーザー環境では、BC4Jサンプル・アプリケーションを含むディレクトリに対してユーザーは書込み権限を持っていません。これらのサンプルを実行するには、ローカルの作業領域にサンプルをコピーする必要があります。
UNIXシステムでサンプルのローカル・コピーを作成するには、次のようにします。
Citrixを使用してWindowsシステムでサンプルのローカル・コピーを作成するには、次のようにします。
BC4JのキャッシュおよびVARRAYに関するサンプルは、リリース9.0.1のデータベースで動作するように作成されています。リリース8.1.7またはリリース9.2では動作確認が行われていません。
JTree コントロールを使うことで、BC4Jデータをツリー上に表示できます。ここで、プロパティから「EDITABLE」を 「TRUE」に設定することができますが、本リリースでは、JTreeからのデータ値の編集はサポートされません。
BC4J Javaクライアント、JClientおよびBusiness Component Browserでは、Oracleオブジェクト型の属性の編集はサポートされていません。これらのクライアントでオブジェクト型の属性値を参照することはできますが、編集時にString値を受け入れるドメインにコンストラクタがない場合、例外がスローされます。これらのクライアントでOracleオブジェクト型を参照および編集する汎用コントロールまたはパネルが、将来のリリースで提供される予定です。
JClientを作成し、ログイン・ダイアログを生成するよう選択すると、パッケージの自動コンパイル時に次のエラーが表示されます。
このエラーには、再コンパイルで対処できます。エラー (388,110); クラス JCLoginDialog が見つかりません....
ビュー・オブジェクトが実行されている(-Djbo.debugoutput=console
診断フラグをオンにして実行することで確認可能)にもかかわらず、JClientアプリケーションのコントロール(JList、JComboboxなど)にデータが表示されない場合、すべてのUIコンポーネントの作成後にビュー・オブジェクトの問合せを実行してください。
デフォルトで作成されたJClientアプリケーションでは、FrameLayoutPanel が用意され、メイン・アプリケーションのFrameでそのインスタンスが(JUApplicationを引数にして)作成されています。通常はここで暗黙的にビュー・オブジェクトの検索が実行されます。この手順を変更して、ビュー・オブジェクトの検索がこの時点で行われないように別のコンストラクタを使用し、代わりにFrameのコンストラクタ内でFrameLayoutPanelの getPanelBinding().execute() をコールして、検索を行うようにします。
たとえば、FramePeople というJClient Frameの場合、 jbInit() メソッドの一番上で以下の行を追加します:
/**
*
* the JbInit method
*/
public void jbInit() throws Exception
{
// frame layout
// WORKAROUND: Pass in false so that LYPanel does not implicitly execute the VO.
// layoutPanel = new LYPanelPeople(app);
layoutPanel = new LYPanelPeople(app, false);
// WORKAROUND !!
:
そして、JUApplication を引数とするコンストラクタにおいて以下の行を追加します:
/**
*
* Constructor that takes the application object
*/
public FramePeople(JUApplication appIn)
{
app = appIn;
try
{
jbInit();
layoutPanel.getPanelBinding().addNavigationBar(this);
iter = statusBar.getModel().getNavigatableRowIterator();
// WORKAROUND: Execute the VO's now so that Lists get populated too!
layoutPanel.getPanelBinding().execute();
// WORKAROUND!!
}
catch(Exception ex)
:
ネーミング・サービス・モードのみを使用してVisiBrokerにCORBAオブジェクトとして配布されているBC4JコンポーネントにJClientアプリケーションから接続を試行すると、java.lang.NullPointerException
が起こります。かわりに「バインドを使用」または「コロケートを使用」のいずれかのORB接続タイプ・モードを使用します。
JClientプロジェクトでツリー・コントロールを使用する場合、ノード・モデル・エディタで、ブランチの各ノードを表すアイコン、および各ブランチの開閉を表すアイコンを選択できます。このNodeモデル・エディタにアイコンを追加するためには、次のようにイメージを初期化するコードを追加しなくてはなりません。
ImageIcon deptImage = new ImageIcon();
ImageIcon deptOpenImage = new ImageIcon();
ImageIcon deptClosedImage = new ImageIcon();
ImageIcon empImage = new ImageIcon();
ImageIcon empOpenImage = new ImageIcon();
ImageIcon empClosedImage = new ImageIcon();
イメージが初期化されていない場合にパラメータ・リストを開いて編集を行っても、その結果は保存されません。また、Swingrランタイムによって NullPointerExceptionが返されます。
OC4Jに配布されたBC4Jコンポーネントに対するJClientアプリケーションを実行すると、interMediaデータ型を使用している場合エラーになります。回避するには、次のようにします。
<ORACLE_HOME>/bc4j/lib/bc4jmt.jarを含む新規ユーザー・ライブリを作成し、プロジェクト設定に追加します。
注意: この変更によってクライアントのサイズが大きくなってしまうことに注意してください。
JNLP ファイルは現在 UTF-8 文字エンコーディングに符号化する必要があります。本リリースのJDeveloperのコードエディタで使用される日本語の文字コードはシステムの設定に依存するため(WindowsではMS932)、JDeveloperによって生成されるJNLPファイルの文字コードを変更する必要があります。
詳しくは、下記のサイトを参照してください。
http://java.sun.com/products/javawebstart/ja/docs/developersguide_ja.html
また、「JClient Java Web Startランチャー・ウィザード - ステップ2/2:プロパティ」で「JNLPを動的に生成-JSP」を選択する場合は、タイトル・説明・ベンダーに日本語を使用することができません。
JDeveloper内でJava Web Startを使用してJClientアプリケーションを実行する場合、デフォルトのローカル配布ランタイム構成を使用してください。ローカル配布ランタイム構成を使用すると、リモートの配布ランタイム構成で発生する可能性のある潜在的なセキュリティ競合を回避できます。後で、リモートのOC4JまたはVisiBroker Webサーバーにビジネス・コンポーネントを配布する場合には、JNLPファイルでのセキュリティ権限付与とJARファイルの署名が必要になることがあります。
oc4jclient.jarには、Thinクライアントへの最小限の配布に適したクラスは含まれていません。配布されているEJBビジネス・コンポーネントへアクセスするためにJClientアプリケーションを使用する場合、oc4j.jarをJClientプロジェクトに直接追加する必要があります。JDeveloperのナビゲータで、JClientプロジェクトを選択して右クリックし、「プロジェクトの設定」を選択します。「プロジェクトの設定」ダイアログで、使用可能なライブラリのリストを参照するには、「構成」ツリーで「ライブラリ」を選択します。「使用可能なライブラリ」で「Oracle9iAS」を選択し、シャトル・ボタンをクリックします。oc4j.jarファイルが含まれているOracle9iASライブラリが、「選択済のライブラリ」リストの一番下に表示されます。ダイアログを閉じ、JClientプロジェクトを再コンパイルします。JClientアプリケーションとビジネス・コンポーネントを通常どおり配布します。
JClient Form形式のAppletアプリケーションを、ブラウザ上からアクセスし実行しているとき、ブラウザ上のリロード(更新)ボタンを押すとエラーが表示されます。
JBO-25003 <ビューオブジェクト名> of type View Object Not Found
この場合、ブラウザを再起動してください。
JClient Objects(Form/Panel)作成時に、依存するビジネス・コンポーネントのビュー・オブジェクトに日本語名を使用している場合、作成されるJClientのJavaクラス名にも、日本語名が指定されます。このとき、アプリケーション実行時に、次のエラーが表示されます。
"Could not find the main class. Program will exit!"
この問題が発生した場合は、JClientのJavaクラス名を「ツール」->「リファクタ」-「クラス名の変更..」
を使用して、シングルバイト名に変更してください。
JSPをデバッグするには、実行前に必ずプロジェクトをメイクするようにします。このオプションは、デフォルトで選択されています。ただし、これを確認するには、「プロジェクトの設定」ダイアログを開き、左側のナビゲーション・ツリーで「実行」->「オプション」ノードに移動します。「オプション」パネルの最初のオプションである「実行の前にプロジェクトをメイク」が選択されていることを確認します。
Javaストアド・プロシージャのデバッグは、このリリースではサポートされていません。この機能は、将来のリリースで提供される予定です。
BeanInfoによって参照されるアイコンは、デフォルトではコンポーネント・パレットに使用されません。ユーザーは、コンポーネント・パレットに使用するアイコンを手動で指定する必要があります。また、アーカイブ・ファイル内のアイコンは、使用できません。
JDeveloperは、軽量(JFC)アプリケーションです。そのため、UIエディタで重量(AWT)コントロールを直接使用すると、正常に動作しません。重量コンポーネントによって、軽量JDeveloper環境(コード・エディタ、UMLエディタなど)を含む軽量コンポーネントが常に曖昧化されます。UIエディタには、UIエディタでのインスタンス化用に重量コントロールを表す軽量プロキシを登録するプロキシ・メカニズムが含まれています。JDeveloperには、すべての標準AWTコントロール用の軽量プロキシが含まれています。ただし、独自に作成された重量Beanの場合、Beanクラスにプロキシを登録しないと、Beanはエディタ・ウィンドウの前面に常に表示されます。これを回避するには、使用していないUIエディタを閉じてください。
このリリースでは、UIエディタでのAWTコントロールのコピーおよび貼付けは機能しません。
JDeveloperのUIエディタでは、java.awt.Frame
およびjavax.swing.JFrame
を含む、java.awt.Window
のサブクラスは表示できません。かわりに、登録されている軽量プロキシを使用する必要があります。すべてのAWTコントロール同様、FrameおよびJFrame(どちらもjava.awt.Window
のサブクラス)の軽量プロキシ実装が用意されており、この2つの一般的なクラスを拡張して独自のフォーム(MyBaseFrameなど)を透過的に作成できます。このようにすると、スーパークラス(FrameまたはJFrame)用に登録されたプロキシがあるため、作成したクラス(MyBaseFrame)を編集できます。ただし、スーパークラスのプロキシを使用しているクラスをさらに拡張(MySubFrame extends MyBaseFrameなど、前述の例で作成したMyBaseFrameを拡張)する場合、このスーパークラスのプロキシ実装をまず登録する必要(前述の例で言えば、UIエディタでMySubFrameを操作するには、MyBaseFrameのプロキシ実装が必要)があります。独自のプロキシを作成する場合、パッケージoracle.jdevimpl.uieditor.proxy
内にある、JDeveloperで提供されるプロキシのサブクラスを作成することをお薦めします。
一部のLinuxシステムでは、JDeveloperで[Ctrl]キーを押してクリックすると、期待する動作とならず、アプリケーション・ウィンドウが移動します。これは、ウィンドウ・マネージャでこのキーがウィンドウの移動のショートカットとして使用され、JDeveloperへ渡されないためです。
デバッガを使用するには、Java 2 SDK(JDKとも呼ばれる)を使用する必要があります。デバッグにJava 2 Runtime Environment(JREとも呼ばれる)を使用しないでください。Java 2 Runtime Environmentには、HotSpot VMまたはClassic VMを使用したデバッグに必要なファイルが含まれていません。Java 2 Runtime Environmentを使用すると、デバッガの起動時にログ・ウィンドウに次のエラー・メッセージが表示される場合があります。
デバッガはローカル・プロセスに接続しようとしています。.....
......
デバッガはローカル・プロセスに接続できません。.....
JDeveloperから起動されるSQL*Plusで日本語が文字化けする場合が発生する可能性があります。これは、JDeveloperから起動される際に適切なリソースファイルを参照できていないためです。この場合、コンソールからの実行時もしくは<JDev_HOME>/jdev/bin/jdevスクリプトに環境変数 XAPPLRESDIR を設定してください。
Linuxでは、[Num Lock]キーはメタ・キーのロックとして機能します。このため、Linuxユーザーは、[Num Lock]キーを必ずオフにする必要があります。そうしないと、キー・マッピングが定義どおりに機能しません。
BC4J処理ハンドラoracle.jbo.xsql.ViewObject
やoracle.jbo.xsql.UpdateViewObject
を使用するOracle XSQLページを作成すると、これらのXSQLページの実行時に、NoClassDefFoundExceptionが起こる場合があります。
これは、BC4J XSQL処理ハンドラが、oraclexsql.jar
アーカイブ内のXSQL処理ハンドラ・ベース・クラスを拡張するためです。Oracle9iAS OC4Jのクラス・ロードの問題で、BC4Jがグローバル・ライブラリとしてロードされるため、これを拡張するものもグローバル・ライブラリとしてインストールする必要があります。
この問題を回避するには、<ORACLE_HOME>/j2ee/home/config/application.xmlファイルを編集します。
次の行を検索します。
<library path="../../../BC4J/lib/bc4jmt.jar" />
この行の後に次の行を追加します。
<library path="../../../lib/oraclexsql.jar" />
その後、OC4Jサーバーを再起動すると、BC4J XSQL処理ハンドラを使用するXSQLページが機能します。
9iDS付属のOC4JにJDeveloperで開発したXSQLアプリケーションを配布し、実行するには以下のいずれかの方法を行う必要があります。
<library path="../../../lib/oraclexsql.jar" />
<library path="../../../lib/xsqlserializers.jar" />
<library path="../../../rdbms/lib/xsu12.jar" />
UIX XMLウィザードを使用してビュー・リンク用のマスター/ディテールUIXページを生成した後、Netscape 4.xではFirst/Previous/Next/Lastのボタン・バーのみが表示されます。マスター・ビューにおける現在の行の説明も表示されません。ただし、Internet Explorerではページは正しく表示されます。
ウィザードによって生成されるマスター/ディテールUIXページは、次のようなタグの部分が含まれます(データ・スコープおよび<contents>要素は省略しています)。
<tableLayout> <bc4j:region automatic="true"> <!-- the stamp for each attribute --> <bc4j:attrStamp> <bc4j:messageInput readOnly="true" /> </bc4j:attrStamp> </bc4j:region> <bc4j:viewObjectScope name="***"> <bc4j:table name="*****" ...> : </bc4j:table> </bc4j:viewObjectScope> </tableLayout> // このタグを移動します
Netscapeで正しく表示するためには以下に示す通り<table>要素を<tableLayout>の外側に移動させてください:
<tableLayout> <bc4j:region automatic="true"> <!-- the stamp for each attribute --> <bc4j:attrStamp> <bc4j:messageInput readOnly="true" /> </bc4j:attrStamp> </bc4j:region> </tableLayout> // ここへ移動します <bc4j:viewObjectScope name="***"> <bc4j:table name="*****" ...> : </bc4j:table> </bc4j:viewObjectScope>
このリリースでは、カスタムUIX拡張を参照するUIXページを適切にコンパイルまたはプレビューすることはできません。
UIX BC4Jページで検索条件として適切でないテキスト(数値の条件に文字列を設定するなど)を設定すると、次のような例外がスローされます。
Servlet error: Renderer failed: java.lang.ArrayIndexOutOfBoundsException: -28
UIX XMLアプリケーション(「Business Components UIX XML Application」、「BC4J Browse/Edit Pages」)から属性名が日本語のBC4Jビュー・オブジェクトに対して更新・挿入ができません。
ビュー・オブジェクトおよびその属性名はシングルバイトで設定することをお勧めします。
「UIX Based on existing UIT page layout」ウィザードで指定するUITファイルの設定にtargetNamespace とlocalName の値の両方が指定されていない場合、上記ウィザードで作成される UIXファイルの中身が空となります。targetNamespaceとlocalNameには必ず値を指定してください。
APIヘルプ・トピックの「独自のソース・コントロール・システムの使用」、「JDeveloper用ソース・コントロール・アドインの作成」および「ソース・コントロール・アドイン・ユーティリティの詳細」はいずれもjdev-scm-doc.zip
ファイルを参照します。ZIPファイルの実際のパスは、jdev/doc/ohj/jdev-scm-doc.zip
です。
SQL ServerをBusiness Components for Javaプロジェクトのデータソースとして使用する場合、次の点に注意してください。
JDeveloper内部で起動されるブラウザ(HTMLビューア、JSPビューア)は、一部の日本語表示に対して問題があります。以下のようなタグの場合、日本語部分が'□'で表示されます。
<font style="font-family: Arial, Helvetica, sans-serif">日本語</font>
'start /min jdev'
を使用すると、IDEのフォーカスの問題が発生する場合があります。
Oracle 9i JDeveloper 9.0.2では、サーブレット2.3の機能(フィルタ/リスナー)とカスタムtaglibディレクティブによるJSPページの両方を含むプロジェクトのコンパイル時に問題があります。次のようなコンパイル・エラーが表示されます。
Error(1): oracle.xml.parser.v2.XMLParseException: Invalid element 'filter'in content of 'web-app'.
このエラーは、JSPコンパイラが誤って、サーブレット2.3準拠のweb.xml
をサーブレット2.2のDTDによって検証を試行するために起こります。これは、サーブレット2.3の機能とカスタムtaglibによるJSPの両方を含むプロジェクトをコンパイルする場合のみ発生します。サーブレット2.3のコードのみ、もしくはサーブレット2.3のコードおよびカスタムtaglibのないJSPを含むプロジェクトは、正常にコンパイルできます。
これを回避するには、<JDev_HOME>jdev/bin/jdev.conf
ファイルでVMOptionを設定します。デフォルトでは、-Djdev.jsp.compiler.validate
オプションはtrueに設定されています。falseに設定する場合は、次の行のコメントアウトを解除します。
#AddVMOption -Djdev.jsp.compiler.validate=false
jdev.conf
構成ファイル内のコメントです。このオプションをfalseに設定すると、web.xml
のコンパイル時の検証は使用不可になります。このオプションは、サーブレット2.3のコードとカスタムtaglibによるJSPの両方を含むプロジェクトをコンパイルする場合のみ使用します。
JDeveloperは、<JDev_HOME>/jdev/bin
ディレクトリにあるencodings.xml
ファイル内のマッピング表に基づいて、IANA対応のエンコーディング名を判断します。ただし、MS950のようなエンコーディングにはIANA対応名はありません。MS950をBig5にマッピングする必要がある場合は、encodings.xml
ファイルを次のように編集します。
<jdk2iana jdk="MS950" iana="Big5">
JDeveloperによって生成されるHTML/JSPのうち、以下のものは日本語に対応したキャラクタ・セットでの出力が行われません。
これらのキャラクタ・セットは手動で変更できます。
"no ocijdbc9 in java.library.path"
この場合は、以下のステップを行ってください。
なお、Solaris/Linux環境ではLD_LIBRARY_PATH環境変数として、<ORACLE_HOME>/libが設定されている必要があります。
本バージョンでは、ツール上でのカーソル色の指定はできません。カーソルの色は、
の以下のプロパティで指定してください
ceditor.CaretColorR=0 ceditor.CaretColorG=0 ceditor.CaretColorB=0
これらの数値の有効値は、0から255までです。
要素が他のオブジェクト型であるネストした表に対するコード生成は、パッケージ・ウィザードを使用してすべてのコード生成を行うと欠落します。既知の回避策として、まずドメイン・ウィザードを使用してネストしたオブジェクト型に対するドメインを作成してから、パッケージ・ウィザードまたはエンティティ・ウィザードを使用して、ネストしたオブジェクト型を含む表にマッピングするエンティティ・オブジェクトに対するコードを生成します。
ファイルが記述されるとき、JDeveloperの一部のウィザードは、オペレーティング・システムとロケールの組合せによって決まるJavaのデフォルトのファイル・エンコーディングを優先します。また、JDeveloperの「プロジェクト」->「プロジェクトの設定」->「Compiler」->「文字コード」フィールドの設定に基づいてエンコーディングが決まる場合もあります。
生成したアプリケーションがJDeveloperのIDEまたは他の配布環境で適切に動作するためには、エンコーディングがJavaファイル・エンコーディングと正確に一致する必要があります。
JDeveloperでファイルを作成または保存するときは、必ずこのJavaファイル・エンコーディングに従うようにしてください。
XML自動インデント機能は、このリリースではサポートされていません。これは将来のリリースでサポートされる予定です。
「ツール」->「リファクタ」を使用してリファクタリングするとき、もしくは同期化されたクラス図要素の名前またはネームスペースを編集するとき、リファクタ・ユーティリティが起動し、これによって名前を変更されるまたは移動されるオブジェクトが更新され、使用する他のファイル内のコードも更新されます。変更が大量にある場合にはリファクタ・ユーティリティは処理を元に戻すことができないため、リファクタリングする前にソース・ファイルのバックアップを取っておくことをお薦めします。
「ツール」->「リファクタ」を使用してリファクタするとき、もしくは同期化されたクラス図要素の名前またはネームスペースを編集するとき、「コンパイルの前に保存」設定を必ずオンにしてください。これは「ツール」->「設定」を選択し、「環境」カテゴリをクリックした後で設定できます。この設定がオフになっていると、リファクタのコンパイル段階で、更新されたソース・ファイルの最新バージョンをコンパイルできない場合があります。
リファクタ操作を実行した後でファイルを保存すると、次のようなメッセージが表示される場合があります。
ファイルを保存できません。
繰り返しのリファクタ操作によって、ファイルのパス名を誤って理解してしまう場合にこの状態になることがあります。この問題は、破損したパス名/ファイル名を保存せずにJDeveloperを再起動すると解決されます。
アプリケーションでChart DataWebBeanを使用するためには、Perspective
for JavaのJARファイルであるLW_PfjBean.jarがサーバーのクラスパスに含まれている必要があります。OC4JサーバーのクラスパスにこのJARファイルを含めるには、次のように<ORACLE_HOME>/j2ee/home/config/application.xmlファイルを変更します。
<library path="../../../jlib/LW_PfjBean.jar" />
次に示すように、この行をライブラリ・リストの最後の行として追加します。
<library path="../../home/lib" />
<library path="../../../BC4J/lib" />
....
<library path="../../../jlib/jregexp.jar" />
<library path="../../../jlib/LW_PfjBean.jar"
/>
JDev 3.2のChart DataWebBeanのスクリプトレットではchart_common.jspという共通JSPファイルを使用します。スクリプトレットにはこの共通ファイルを参照する次のような文があります。
c.setCommonScriptName("/webapp/jsp/chart_common.jsp");
Oracle9i JDeveloperでは、次のように変更することが必要です。
bc4j/redist/webapp.war
からjsp/chart_common.jsp
をコピーして、現在のプロジェクトに共通ファイルを含めます。プロジェクトにchart_common.jsp
を追加します。 c.setCommonScriptName("chart_common.jsp")
;前述の2つのステップを終了すると、JSPページは次のように変更されています。
<jbo:ApplicationModule id="am" configname="mypackage1.Mypackage1Module.Mypackage1ModuleLocal" releasemode="Stateful" /> <jbo:DataSource id="z" appid="am" viewobject="EmpView"/> <jbo:DataWebBean id="c" datasource="z" wbclass="oracle.jbo.html.databeans.ChartRenderer"/> <% //c.setCommonScriptName("/webapp/jsp/chart_common.jsp"); c.setCommonScriptName("chart_common.jsp"); c.getChart().setGraphType(c.PIE); //.... c.setSeriesLabelColumnName("Ename"); c.setDisplayAttributes("Empno,Mgr,Sal,Comm,Deptno"); //.... c.getChart().setPieFeelerTextDisplay(0); c.getChart().setPieTilt(10); c.getChart().setPieRotate(0); c.getChart().setLegendDisplay(true); c.getChart().setLegendMarkerPosition(0); //.... c.getChart().setTitleString("Title"); c.getChart().setSubtitleString("Subtitle"); c.getChart().setFootnoteString("Footnote"); c.setImageWidth(400); c.setImageHeight(400); //.... c.render(); %>
「HTTPサーブレット・ウィザード - ステップ2/3」で新規にサーブレット・パラメータを追加するとき、DescフィールドおよびDefaultフィールドに入力した値が生成されるソースに反映されない問題があります。Defaultフィールドに関しては、値を入力後にカーソルをいったん別のフィールドに移すことによりソースに反映されます。
エディタ内でコードをブロック単位でインデントするためのアクセラレータ・キーが、Oracle9i JDeveloperで変更されています(これはJDeveloper 3.2からの変更です)。
変更前は、次のようになっていました。
[Ctrl]-[Shift]-I (block-indent) [Ctrl]-[Shift]-U (block-unindent)
変更後は、次のようにより標準的になりました。
[Tab] (block-indent) [Shift]-[Tab] (block-unindent)
メニューの「ツール」->「設定」の「エディタ」->「フォント」では、コード・エディタ上で利用するフォントを選択することができます。ただし、フォントの種類によっては、太字、斜体での表示がうまく機能しません。これは、JDK1.3自身の問題として報告されています。
JDeveloperを起動する前に、フォントの表示サイズを変更するためide.properties
ファイルを変更できます。このファイルで設定されるIde.FontSize
プロパティは、IDEで使用されるフォントのデフォルトのポイント数を変更します。フォント・サイズは各ルック&フィールごと、および各言語ごとに指定できます。この手順は、<JDev_HOME>/jdev/system
ディレクトリ内にあるide.properties
ファイルの冒頭部分に説明があります。
ide.properties
ファイルを変更してフォント・サイズを変更すると、メイン・ウィンドウにあるタイトル・バー以外のすべてのJDeveloperのUIが変更されます。Windowsの「画面のプロパティ」ダイアログを使用してタイトル・バーのシステム・フォントを変更すると、このフォント・サイズを調整できます。
ナビゲータ上のノードのコンテキスト・メニューからコールされたダイアログが正しく動作しない場合があります。たとえばダイアログが開かなかったり、内容があるはずのフィールドが空のまま表示されたりします。この場合、ノードがハイライト表示されているにもかかわらず、「システム・ナビゲータ」のタイトル・バーの色が変わっていないはずです。これは、直前に使用したダイアログからナビゲータにフォーカスが正しく移動していないためです。閉じるボタンで一度「システム・ナビゲータ」を終了してから、「表示」->「システム・ナビゲータ」を選択して再度開くことにより、正しくフォーカスされます。
OC4JのEJBなど、リモート・モードで配布されたアプリケーション・モジュールに対してJSPアプリケーションが実行されている場合、ユーザーが変更をコミットするまで更新/挿入されたイメージ・データがJSPページに反映されません。
JSPビューア、HTMLビューアおよびヘルプでは、検索ダイアログがサポートされています。ユーザーは[Ctrl]を押しながら[F]を押すことによって、テキスト・パターンを検索するダイアログを起動できます。
ALTER USER hr IDENTIFIED BY my_secret_password_for_hr ACCOUNT unlock;
OE、PMおよびSHの各スキーマについて同じ手順が必要です。
ドキュメント上ではXMLサンプルが製品に含まれているものとして説明されていますが、このリリースには含まれていません。
「データ・タグを使用したJSPページの作成」のチュートリアルの「注文編集用のフォームの作成」トピックで、ステップ9の後で「Update」ボタンをオプションでクリックした場合、ステップ10でOrders.jspを実行する前にブラウザを閉じる必要があります。
JDeveloperでホストされたヘルプを使用するように設定したとき、ヘルプ・システムで正しく初期化されず、空のヘルプ・システム・ウィンドウが表示されることがあります。ヘルプ・システムを使用可能にするには、ローカル・ドキュメントを使用できるように作業環境を設定して、ヘルプ・システムを起動します。次に、作業環境を「ホストのドキュメントを使用」に戻し、URL が正しいことを確認します(デフォルトでは、http://otn.oracle.com:80/hosted_doc/jdev/jdeveloper/jdeveloper.hs
です。
日本語環境での使用の際には、http://otn.oracle.co.jp/products/jdev/help/902/ja/jdeveloper/jdeveloper.hs
を指定してください)。
これで、ヘルプ・システムは正常に起動します。
これで問題が解消されない場合は、JDeveloper を終了し、ファイル<JDev_HOME>/jdev/system/ide.properties を次のように編集します。
変更前
Ide.HelpSystem.UseHostedHelp=false
変更後
Ide.HelpSystem.UseHostedHelp=true
(このプロパティがide.properties ファイルに存在しない場合は、Ide.HelpSystem.UseHostedHelp=true という行をide.properties ファイルに追加します。)
JDeveloper を再起動すると、ホスト・ドキュメントが機能します。
Sun社のJDK 1.3.1のバグ(4392195)のため、ホストされたヘルプを使用している場合に、データがすべて送信される前にホストへの接続が閉じられるとJDeveloperが停止する可能性があります。ネットワーク上でこれが発生した場合は、ローカル・ドキュメントを使用するようにしてください。
Oracle Corporation |
Worldwide Inquiries: |