我如何在JBoss服务器升级钻嘴鱼科,并告诉它使用给定的钻嘴鱼科2.x的JAR文件,而不是自己的JBoss jboss-jsf-api_2.1_spec-2.0.1.Final.jar
在启动日志显示?
如果这是相关的,我目前使用JBoss AS 7.1。
我如何在JBoss服务器升级钻嘴鱼科,并告诉它使用给定的钻嘴鱼科2.x的JAR文件,而不是自己的JBoss jboss-jsf-api_2.1_spec-2.0.1.Final.jar
在启动日志显示?
如果这是相关的,我目前使用JBoss AS 7.1。
以下程序适用到JBoss AS 7.2+时,JBoss EAP 6.1以上 ,和JBoss WildFly 8+并假定您已经在服务器的安装和配置的完全控制。 此升级服务器范围的缺省 JSF版本:
javax.faces.jar
文件)。 当前最新的2.1.x版本是2.1.29和当前最新的2.2.x版本2.2.14是。 让我们假设你想升级到2.2.x中 你可以从他们的Maven仓库单独下载它们: jsf-api-2.2.14.jar
jsf-impl-2.2.14.jar
/modules/system/layers/base/javax/faces/api/main
: 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-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会自动创建的一个)。 此外,如果module.xml
在API夹未命中<module name="com.sun.jsf-impl"/>
内<dependencies>
,则需要手动添加。
重要的一点是,除2.2.7旧的钻嘴鱼科的2.2.x版本将在部署期间在AS / EAP失败,以下异常: org.jboss.weld.context.ContextNotActiveException: WELD-001303 No active contexts for scope type javax.faces.flow.builder.FlowDefinition
。 那么你基本上2种选择:降级到钻嘴鱼科2.1.x的,或者至少升级到2.2.7或更高版本。
如果你想升级到2.3钻嘴鱼科 ,它不提供2-JAR变了Maven的,你需要手动创建2-JAR变种基于javax.faces.jar
文件按照此过程: 如何在WildFly安装JSF(javax.faces.jar)的一个罐子变种 。