13

Mojarra バージョン 2.1.8 を使用するように JSF アプリケーションを更新したいと考えています。これらの行を WAR パッケージの POM ファイルに追加しました。

<dependency>
    <groupId>org.glassfish</groupId>
    <artifactId>javax.faces</artifactId>
    <version>2.1.8</version>
</dependency> 

JSF リポジトリも追加しました。I パッケージは Mojarra バージョン 2.1.8 で正常にビルドされています。しかし、GlassFish のログを開くと、Mojarra バージョン 2.1.6 がデプロイされていることがわかります。私は何が欠けていますか?GlassFish サーバーに何らかの構成を行う必要がありますか?

4

1 に答える 1

17

GlassFish 自体には、JSF がバンドルされて出荷されており、デフォルトでは、Web アプリケーションにバンドルされているものよりもクラスローディングが優先されます。基本的に、GlassFish に webapp にバンドルされた JSF を使用するように指示する必要があります。

/WEB-INF/glassfish-web.xmlWeb アプリケーション(または/WEB-INF/sun-web.xml、最初の GF3 バージョンのいずれかを使用している場合) を編集して、次の 2 つのエントリを追加します。

<class-loader delegate="false" />
<property name="useBundledJsf" value="true" />

GlassFish は、代わりに webapp にバンドルされた JSF を使用します。

または、GlassFish を完全に管理できる場合は、GlassFish を/glassfish/modulesディレクトリにコピーして古いバージョンを置き換え、すべての Web アプリケーションに適用することもできます。

于 2012-05-28T11:45:30.473 に答える