JBoss AS / EAP / WildFly での JSF / Mojarra のアップグレード 質問する

JBoss AS / EAP / WildFly での JSF / Mojarra のアップグレード 質問する

jboss-jsf-api_2.1_spec-2.0.1.Final.jarJBoss サーバーで Mojarra をアップグレードし、起動ログに示されているようにJBoss 独自の JAR ではなく、指定された Mojarra 2.x JAR を使用するように指示するにはどうすればよいですか?

関係があるかどうかはわかりませんが、現在私は JBoss AS 7.1 を使用しています。

ベストアンサー1

以下の手順は、JBoss AS 7.2 以上JBoss EAP 6.1 以上、 そしてJBoss ワイルドフライ 8+サーバーのインストールと構成を完全に制御できることを前提としています。これにより、サーバー全体のデフォルトJSF バージョン:

  • 個別のMojarraをダウンロードするAPIそして実装ファイル (つまり単一のjavax.faces.jarファイルではありません)。現在の最新の 2.1.x バージョンは 2.1.29 で、現在の最新の 2.2.x バージョンは 2.2.14 です。2.2.x にアップグレードすると仮定します。Maven リポジトリから個別にダウンロードできます。
  • JBoss がシャットダウンされていることを確認してください。
  • JSF API を更新/modules/system/layers/base/javax/faces/api/main:
    • 古い JAR ファイルを削除またはバックアップします (名前を変更しなくても、同じフォルダーに保存しないでください)。
    • jsf-api-2.2.14.jarそこにファイルを置いてください。
    • ファイルを開いてmodule.xml編集し、<resource-root>新しいファイル名を次のように指定します。<resource-root path="jsf-api-2.2.14.jar"/>
  • JSF実装を更新します/modules/system/layers/base/com/sun/jsf-impl/main:
    • 古い JAR ファイルを削除またはバックアップします (名前を変更しなくても、同じフォルダーに保存しないでください)。
    • jsf-impl-2.2.14.jarそこにファイルを置いてください。
    • ファイルを開いてmodule.xml編集し、<resource-root>新しいファイル名を次のように指定します。<resource-root path="jsf-impl-2.2.14.jar"/>
  • JBoss キャッシュ/作業データをクリーンアップして、以前のデプロイメントからの JAR の古いコピーが残っていないことを確認します。古いコピーは新しい JAR と衝突する可能性があります。
    • すべてのコンテンツをゴミ箱に捨てます/standalone/data(もちろん、アップロードされたファイルを含むフォルダなどのカスタムデータフォルダは除きます)
    • すべてのコンテンツをゴミ箱へ/standalone/deployments
    • すべてのコンテンツをゴミ箱へ/standalone/tmp
  • JBoss を起動します。これで、すべてのデプロイメントで新しい JSF バージョンが使用されるようになります。

同じ手順が適用されるJBoss AS 7.0/7.1そしてJBoss EAP 6.0/modules/*の場合は、ではなくを参照するだけで済み/modules/system/layers/base/*、そこにある古い.indexファイルがあれば明示的に削除する必要があります (JBoss によって自動的に作成されます)。また、内にmodule.xmlAPI フォルダーがない場合は、手動で追加する必要があります。<module name="com.sun.jsf-impl"/><dependencies>

重要な注意点として、2.2.7 より古い Mojarra 2.2.x バージョンは、次の例外を除いて、デプロイメント中に AS/EAP で失敗します。org.jboss.weld.context.ContextNotActiveException: WELD-001303 No active contexts for scope type javax.faces.flow.builder.FlowDefinitionその場合、基本的に 2 つのオプションがあります。Mojarra 2.1.x にダウングレードするか、少なくとも 2.2.7 以降にアップグレードします。

アップグレードをご希望の場合はモジャラ 2.3javax.faces.jarは Maven で 2-JAR バリアントを提供しなくなったため、次の手順に従ってファイルに基づいて 2-JAR バリアントを手動で作成する必要があります。WildFly に JSF の jar バリアント (javax.faces.jar) をインストールする方法

おすすめ記事