JBossサーバーでMojarraをアップグレードし、起動ログに示されているJBoss独自のjboss-jsf-api_2.1_spec-2.0.1.Final.jar
ではなく、指定されたMojarra 2.x JARを使用するようにするにはどうすればよいですか?
これに関連する場合は、現在JBoss AS 7.1を使用しています。
以下の手順は、JBoss AS 7.2 +、JBoss EAP 6.1 +に適用されます、およびJBoss WildFly 8 +であり、サーバーのインストールと構成を完全に制御していることを前提としています。これにより、サーバー全体defaultJSFバージョンがアップグレードされます。
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を更新します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実装を更新します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が自動作成します)。また、APIフォルダーのmodule.xml
に<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つのオプションがあります。Mojarra2.1.xにダウングレードするか、少なくとも2.2.7以降にアップグレードします。
Mavenで2-JARバリアントを提供しないMojarra 2.3にアップグレードする場合は、手動で行う必要があります。この手順に従って、javax.faces.jar
ファイルに基づいて2-JARバリアントを作成します。 WildFlyにJSF(javax.faces.jar)の1つのjarバリアントをインストールする方法 。