ポートレット・プロジェクトでの Faces ランタイム・リソースの更新

WebSphere® Studio Site Developer V5.1.2 に付属していた JavaServer Faces ランタイム・リソースは、Rational® Application Developer V6.0.1 用に更新されました。 この旧製品バージョン用の Portal Toolkit 5.0.2.2 で作成されたポートレット・プロジェクト での開発を継続したい場合は、Faces ランタイム・リソースを最新レベルに更新することをお勧めします。

Rational Application Developer V6.0.1 では、Faces ランタイム・リソースの更新は、古いリソースが含まれたポートレット・プロジェクトがインポー トされるか、古いリソースが含まれたワークスペースが開かれたときに自動的に行われます。Portal Toolkit 5.0.2.2 で作成した、WebSphere Studio Site Developer V5.1.x 用のポートレット・プロジェクトを Rational Application Developer V6.0.1 にインポートすると、Faces ランタイム・リソースを最新レベルに更新するように指示するプロンプトが表示されます。

ランタイム・リソースを自動的に更新する

ポートレット・プロジェクトに対して Faces ランタイム・リソースを自動的に更新するには、以下のようにします。
  1. Faces コンテンツが含まれたポートレット・プロジェクトを WebSphere Studio Site Developer V5.1.x からインポートする。 「プロジェクトのマイグレーション」ウィンドウが開きます。
    注: 「プロジェクトのマイグレーション」ウィンドウが開かな い場合は、自動ビルドの設定がおそらく無効になっています。 プロジェクト・エクスプローラーで、ポートレット・プロジェクトを右クリックして、 「ビルド」 > 「プロジェクト」を選択します。これにより、プロジェクトの再ビルド・プロセスが 実行されて、「プロジェクトのマイグレーション」ウィンドウが開きます。
  2. Faces コンテンツが含まれた他のポートレット・プロジェクトがワークスペース内にあ る場合は、「アップグレードの必要がある他のプロジェクトにこの選択を適用する」チェック・ボックスを選択すると、すべてのポートレット・プロジェクトが更新される。
  3. 次のいずれかをクリックする。
    • 更新を自動的に完了するには、「適用する」をクリックする。
    • 更新を延期するには、「後で適用する」をクリックする。 「後で適用する」の選択後にランタイム・リソースを自動的に更新するには、ポートレット ・プロジェクトを再ビルドする前に、ポートレット・プロジェクトを閉じてから再び開くかワークベン チを再始動する必要があります。 自動ビルドを無効にしている場合は、ポートレット・プロジェクトを右ク リックして「プロジェクトのビルド」を選択します。
    • ランタイム・リソースをバックレベルのままにするには、「適用しない」をクリックする。 「適用しない」を選択してバックレベルのランタ イム・リソースを意図的に保持した場合は、これらのランタイム・リソース を更新するように指示するプロンプトは再表示されません。 今後は、これらのランタイム・リソースが必要な場合は、これらを手動で更新する必要があります。
  4. ポートレット固有の Faces ランタイム・リソースである jsf-portlet.jar と jsf-wp.jar を更新するには、以下の手動更新ステップを実行する必要がある。
注: Faces Client コンポーネントが含まれた Faces JSP を作成した場合は 、Faces Client コンポーネント・ランタイム・リソースを別個に最新レベルに更新す る必要があります。「Web プロジェクトでの Faces Client ランタイム・リソースの更新」 を参照してください。

ランタイム・リソースを手動で更新する

ポートレット・プロジェクトに対して Faces ランタイム・リソースを手動で更新するには、以下のようにします。
  1. Faces コンテンツが含まれた既存のポートレット・プロジェクトを Rational Application Developer V6.0.1 ワークスペースにインポートする。
  2. 2 ページ目で「Faces ポートレット」オプションを選択して 、JSFP601 という名前の新規ポートレット・プロジェクトを作成する。このプロジェクトは、 最新ランタイム・リソースのソースとしてのみ使用し、更新の完了後には削除できます。
  3. プロジェクト・エクスプローラーで JSFP601 プロジェクトを右クリックし、 メニューから「プロパティー」を選択する。
  4. Web プロジェクト・フィーチャー」をクリックして、 「ポートレット・プロジェクト用の Faces Client Framework の 追加」を選択し、「OK」をクリックする。
  5. 更新したい既存の Faces プロジェクトごとに以下を実行する。
    1. プロジェクト・エクスプローラーで既存のプロジェクトを展開して、 WebContent/WEB-INF/lib/ フォルダー内のファイルを表示する。このディレクトリーにある 以下の JAR ファイルをすべて見つけて削除します。
      • jsf-api.jar
      • jsf-ibm.jar
      • jsf-impl.jar
      • jsf-portlet.jar
      • odc-jsf.jar
    2. WebContent/WEB-INF/faces-config.xml ファイルを見つけて開く。 以下のエレメントが まだこの構成ファイルにない場合、追加します。
      	<lifecycle>
      		<phase-listener>com.ibm.faces.webapp.ValueResourcePhaseListener</phase-listener>
      	</lifecycle>
      	
      	<application>
      		<variable-resolver>com.ibm.faces.databind.SelectItemsVarResolver</variable-resolver>
      		<variable-resolver>com.ibm.faces.application.WPPortletVariableResolver</variable-resolver>
      		<property-resolver>com.ibm.faces.databind.SelectItemsPropResolver</property-resolver>
      	</application>
      注: ポートレット・プロジェクトが JSR 168 API を使用している場合は、 com.ibm.faces.application.WPPortletVariableResolver ではなく、 com.ibm.faces.application.PortletVariableResolver を指定してください。
    3. 削除した JAR ファイルについて、JSFP601 プロジェクトの WebContent/WEB-INF/lib ディレクトリーから同じ名前の JAR ファイルをコ ピーし、同じ場所のオリジナル・プロジェクトに貼り付ける。構成によっては、これらすべての JAR ファイルがプロジェクトに含まれている必要はありません。したがって、オリジナル・プロジェクト になかった特定の JAR ファイルはコピーしないでください。
      • ポートレット・プロジェクトで IBM® ポート レット API または個人リンク・コンポーネントを使用している場合は、jsf-wp.jar フ ァイルをオリジナル・プロジェクトにコピーしてください。
      • odc-jsf.jar ファイルをコピーする場合は、odc-jsf-portlet.jar ファイルもコピーしてください。
    4. オリジナル・プロジェクトの web.xml デプロイメント記述子を開き、 構成に以下を追加する。
      	<context-param>
      		<param-name>com.ibm.ws.jsf.JSP_UPDATE_CHECK</param-name>
      		<param-value>true</param-value>
      	</context-param>	<context-param>
      		<param-name>com.ibm.ws.jsf.LOAD_FACES_CONFIG_AT_STARTUP</param-name>
      		<param-value>true</param-value>
      	</context-param>
  6. JSFP601 ポートレット・プロジェクトを削除する。

関連概念
WebSphere Studio V5.1.x との互換性

関連資料
V6.0 でのデバッガーの変更
WDO から SDO へのマイグレーション
V6.0 の EGL 予約語