在 JBoss AS/EAP/WildFly 中升级 JSF/Mojarra [英] Upgrade JSF / Mojarra in JBoss AS / EAP / WildFly

查看:16
本文介绍了在 JBoss AS/EAP/WildFly 中升级 JSF/Mojarra的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我如何在 JBoss 服务器中升级 Mojarra 并告诉它使用给定的 Mojarra 2.x JAR 而不是 JBoss 自己的 jboss-jsf-api_2.1_spec-2.0.1.Final.jar在启动日志中?

How do I upgrade Mojarra in JBoss server and tell it use the given Mojarra 2.x JARs instead of JBoss own jboss-jsf-api_2.1_spec-2.0.1.Final.jar as indicated in startup log?

如果相关,我目前使用的是 JBoss AS 7.1.

If that's relevant, I am currently using JBoss AS 7.1.

推荐答案

以下程序适用于 JBoss AS 7.2+JBoss EAP 6.1+JBoss WildFly 8+ 并假设您已完全控制服务器的安装和配置.这将升级服务器范围的默认 JSF 版本:

The below procedure applies to JBoss AS 7.2+, JBoss EAP 6.1+, and JBoss WildFly 8+ and assumes that you've full control over the server installation and configuration. This upgrades the server-wide default JSF version:

  • 下载单独的 Mojarra APIimpl 文件(因此不是单个 javax.faces.jar 文件).当前最新的 2.1.x 版本是 2.1.29,当前最新的 2.2.x 版本是 2.2.14.假设您要升级到 2.2.x.您可以从他们的 Maven 存储库中单独下载它们:
    • Download the individual Mojarra API and impl files (and thus not the single javax.faces.jar file). Current latest 2.1.x version is 2.1.29 and current latest 2.2.x version is 2.2.14. Let's assume that you want to upgrade to 2.2.x. You can download them individually from their Maven repository:
      • jsf-api-2.2.14.jar
      • jsf-impl-2.2.14.jar
      • 删除或备份旧的 JAR 文件(不要将其保存在同一文件夹中,即使没有重命名!).
      • jsf-api-2.2.14.jar 文件放入其中.
      • 打开 module.xml 文件并编辑 以指定新文件名,如
      • Delete or backup the old JAR file (do NOT keep it in the same folder, even not renamed!).
      • Put jsf-api-2.2.14.jar file in there.
      • Open module.xml file and edit <resource-root> to specify the new file name as in <resource-root path="jsf-api-2.2.14.jar"/>
      • 删除或备份旧的 JAR 文件(不要将其保存在同一文件夹中,即使没有重命名!).
      • jsf-impl-2.2.14.jar 文件放入其中.
      • 打开 module.xml 文件并编辑 以指定新文件名,如
      • Delete or backup the old JAR file (do NOT keep it in the same folder, even not renamed!).
      • Put jsf-impl-2.2.14.jar file in there.
      • Open module.xml file and edit <resource-root> to specify the new file name as in <resource-root path="jsf-impl-2.2.14.jar"/>
      • 删除 /standalone/data 的所有内容(当然,自定义数据文件夹除外,例如包含上传文件的文件夹)
      • 删除/standalone/deployments的所有内容
      • 删除/standalone/tmp的所有内容
      • Trash all contents of /standalone/data (except of custom data folders like folder containing uploaded files, of course)
      • Trash all contents of /standalone/deployments
      • Trash all contents of /standalone/tmp

      同样的过程适用于JBoss AS 7.0/7.1JBoss EAP 6.0,你只需要在/modules/*中浏览/modules/system/layers/base/*,如果有的话,你需要明确删除旧的 .index 文件(JBoss 会自动创建一个).此外,如果 API 文件夹中的 module.xml 遗漏了 内的 ;,则需要手动添加.

      The same procedure applies to JBoss AS 7.0/7.1 and JBoss EAP 6.0, you only need to browse in /modules/* instead of /modules/system/layers/base/*, and you need to explicitly delete the old .index file there, if any (JBoss will autocreate one). Also, if the module.xml in API folder misses <module name="com.sun.jsf-impl"/> inside <dependencies>, then you need to manually add it.

      重要的一点是,Mojarra 2.2.x 版本早于 2.2.7 将在部署期间在 AS/EAP 中失败,但出现以下异常:org.jboss.weld.context.ContextNotActiveException: WELD-001303 No active contexts for范围类型 javax.faces.flow.builder.FlowDefinition.您基本上有 2 个选择:降级到 Mojarra 2.1.x,或者升级到至少 2.2.7 或更新版本.

      Important note is that Mojarra 2.2.x versions older than 2.2.7 will fail in AS/EAP during deployment with the following exception: org.jboss.weld.context.ContextNotActiveException: WELD-001303 No active contexts for scope type javax.faces.flow.builder.FlowDefinition. You've then basically 2 options: downgrade to Mojarra 2.1.x, or upgrade to at least 2.2.7 or newer.

      如果您想升级到 Mojarra 2.3,它不再在 Maven 上提供 2-JAR 变体,您需要手动创建基于javax.faces.jar 文件按照此过程:如何在 WildFly 上安装 JSF 的一个 jar 变体(javax.faces.jar).

      In case you'd like to upgrade to Mojarra 2.3, which doesn't offer a 2-JAR variant anymore on Maven, you'd need to manually create the 2-JAR variant based on javax.faces.jar file as per this procedure: How to install one jar variant of JSF (javax.faces.jar) on WildFly.

      这篇关于在 JBoss AS/EAP/WildFly 中升级 JSF/Mojarra的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆