jsf - 如何在 GlassFish 中更新 Mojarra 版本

标签 jsf jsf-2 glassfish upgrade mojarra

我想更新我的 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/

相关文章:

java - 如何处理java.lang.OutOfMemoryError : GC overhead limit exceeded gracefully?

jsf - 设置 f :convertDateTime 的默认时区

java - 如何使用 Primefaces 对话框框架打开多个对话框

validation - 禁用/启用 h :commandButton on validation fails/is ok

jsf-2 - <用户界面:param and caching

java - 无法在 Glassfish 上部署的应用程序中发送电子邮件

jsf - 素面 : <p:ajax inside of DataTable calls method several times after I update the dataTable

JSF 设置默认值 Radio Button h :selectOneRadio

java - ui :composition and ui:decorate in Facelets之间的区别

java - 无法连接到cassandra : NodeContext killing all pooled connections for session