JBoss EAP 6.4.0升级至6.4.19补丁失败问题求助
解决JBoss EAP 6.4.0升级到6.4.19补丁时的JBAS016840错误
问题根源
你碰到的这个JBAS016840错误很典型——你手里的jboss-eap-6.4.19-patch.zip是基于6.4.9.GA版本的累积补丁包,它要求你的JBoss必须先升级到6.4.9这个基线版本,才能继续往上打补丁,直接从6.4.0跨版本应用肯定会失败。
分步解决办法
别担心,按下面的步骤操作就能顺利完成升级:
先获取6.4.9的补丁包
你需要先下载jboss-eap-6.4.9-patch.zip,这个是从6.4.0升级到6.4.9的累积补丁,是后续升级的必要前置。停止JBoss EAP服务
打补丁前一定要把JBoss停掉,避免出现资源锁定问题:./jboss-cli.sh --connect command=:shutdown离线应用6.4.9补丁
用cli的离线模式来执行补丁应用(因为服务已经停了):./jboss-cli.sh --command="patch apply /你的补丁存放路径/jboss-eap-6.4.9-patch.zip"记得把路径替换成你实际的补丁包位置。
确认6.4.9升级成功
启动JBoss,然后用cli检查版本:./jboss-cli.sh --connect command="/core-service=platform-mbean/type=runtime:read-attribute(name=spec-version)"输出如果显示
6.4.9.GA,就说明基线版本没问题了。应用6.4.19的累积补丁
再次停掉JBoss,然后执行6.4.19的补丁命令:./jboss-cli.sh --command="patch apply /你的补丁存放路径/jboss-eap-6.4.19-patch.zip"验证最终升级结果
重新启动JBoss,再用cli确认版本已经到6.4.19.GA:./jboss-cli.sh --connect command="/core-service=platform-mbean/type=runtime:read-attribute(name=spec-version)"
小提示
- JBoss的累积补丁(CP)大多都有明确的前置基线要求,你可以查看补丁包里的
README文件,或者官方文档来确认依赖的版本。 - 如果你找不到6.4.9的补丁包,需要通过Red Hat客户门户获取(前提是你有有效的订阅权限)。
内容的提问来源于stack exchange,提问作者Asif Hameed
相关产品推荐
相关产品推荐

