我想更新我的 JSF 应用程序以使用 Mojarra 版本 2.1.8。我将这些行添加到 WAR 包的 POM 文件中:
<dependency>
<groupId>org.glassfish</groupId>
<artifactId>javax.faces</artifactId>
<version>2.1.8</version>
</dependency>
我还添加了 JSF 存储库。我的包已使用 Mojarra 版本 2.1.8 成功构建。但是当我打开 GlassFish 日志时,我看到部署了 Mojarra 版本 2.1.6。我缺少什么?我需要对 GlassFish 服务器进行一些配置吗?
最佳答案
GlassFish 本身已经捆绑了 JSF,默认情况下,类加载优先级高于 Web 应用程序中捆绑的类加载。您基本上需要告诉 GlassFish 使用 Web 应用程序捆绑的 JSF。
编辑 Web 应用程序的 /WEB-INF/glassfish-web.xml
(如果您使用的是其中之一,则编辑 /WEB-INF/sun-web.xml
第一个 GF3 版本)添加以下两个条目:
<class-loader delegate="false" />
<property name="useBundledJsf" value="true" />
GlassFish 随后将使用 Web 应用程序捆绑的 JSF。
或者,如果您对 GlassFish 有完全的管理控制权,那么您也可以将其复制到 /glassfish/modules
目录中,替换旧版本,以便将其应用于所有 Web 应用程序。
关于jsf - 如何在 GlassFish 中更新 Mojarra 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10782528/