jboss-jsf-api_2.1_spec-2.0.1.Final.jar
JBoss サーバーで Mojarra をアップグレードし、起動ログに示されているJBoss 独自の JAR ではなく、指定された Mojarra 2.x JAR を使用するように指示するにはどうすればよいですか?
それが関連している場合、私は現在 JBoss AS 7.1 を使用しています。
以下の手順は、JBoss AS 7.2+、JBoss EAP 6.1+、およびJBoss WildFly 8+に適用され、サーバーのインストールと設定を完全に制御できることを前提としています。これにより、サーバー全体のデフォルトのJSF バージョンがアップグレードされます。
javax.faces.jar
ファイルではありません)。現在の最新の 2.1.x バージョンは 2.1.29 で、現在の最新の 2.2.x バージョンは 2.2.14 です。2.2.x にアップグレードするとします。Maven リポジトリから個別にダウンロードできます。
/modules/system/layers/base/javax/faces/api/main
。
jsf-api-2.2.14.jar
そこにファイルを入れます。module.xml
て編集<resource-root>
し、次のように新しいファイル名を指定します<resource-root path="jsf-api-2.2.14.jar"/>
/modules/system/layers/base/com/sun/jsf-impl/main
。
jsf-impl-2.2.14.jar
そこにファイルを入れます。module.xml
て編集<resource-root>
し、次のように新しいファイル名を指定します<resource-root path="jsf-impl-2.2.14.jar"/>
/standalone/data
ます (もちろん、アップロードされたファイルを含むフォルダーなどのカスタム データ フォルダーは除きます)/standalone/deployments
/standalone/tmp
同じ手順がJBoss AS 7.0/7.1およびJBoss EAP 6.0/modules/*
に適用されます。の代わりにブラウズするだけで済み、そこに/modules/system/layers/base/*
古い.index
ファイルがある場合は明示的に削除する必要があります (JBoss は自動作成します)。また、module.xml
in 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 バリアント。