35

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

それが関連している場合、私は現在 JBoss AS 7.1 を使用しています。

4

1 に答える 1

66

以下の手順は、JBoss AS 7.2+JBoss EAP 6.1+、およびJBoss WildFly 8+に適用され、サーバーのインストールと設定を完全に制御できることを前提としています。これにより、サーバー全体のデフォルトのJSF バージョンがアップグレードされます。

  • 個々の Mojarra APIimplファイルをダウンロードします (したがって、単一の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 impl を更新します/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.xmlin API フォルダーが<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 以降にアップグレードします。

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

于 2013-06-13T11:24:42.203 に答える