在不重新部署的情况下更新 jboss EAP 7 上的现有战争

Posted

技术标签:

【中文标题】在不重新部署的情况下更新 jboss EAP 7 上的现有战争【英文标题】:Update an existing war on jboss EAP 7 without redeploy 【发布时间】:2019-10-02 16:03:02 【问题描述】:

在我的 Jboss EAP 7 服务器上部署了一个 application.war。现在我想更新和添加一些类和jsp文件。如何在不部署整个战争的情况下更新现有战争?

【问题讨论】:

您可以使用 jboss-cli wildfly.org/news/2017/09/08/Exploded-deployments 展开部署并向其添加内容 您使用的是 EAP 7 还是 7.1? @Abhijeet EAP7.1 @ehsavoie 我们可以使用 zip 更新大量文件吗? 是的,你可以部署一场战争然后引爆它。但之后它是每个文件的文件。如果要更新 lib 中的类,也可以用同样的方式分解 jars 【参考方案1】:

@ehsavoie 根据您的建议,我只能更改 jsp 文件,但对于 Web 内容文件,我需要重新启动应用程序,这是 Jboss 维护每个已部署应用程序的校验和但您已经复制新文件的问题爆炸式应用。这不会影响校验和,所以现在重新启动后它会爆炸您的最后一个 .war 并且您的更改已恢复。 部分部署的有效方法是在 cli 模式下使用 deployment:add-content 命令。

/deployment=DEPLOYMENT_NAME.war:add-content(content=[target-path=/path/to/FILE_IN_DEPLOYMENT, input-stream-index=/path/to/LOCAL_FILE_TO_UPLOAD]

如果你想了解更多,这里是link。

【讨论】:

你真的在1年零5个月后回来了,太不可思议了。 @Tuqay 我早就实现了。希望这个答案对其他人有所帮助。

以上是关于在不重新部署的情况下更新 jboss EAP 7 上的现有战争的主要内容,如果未能解决你的问题,请参考以下文章

Jboss EAP 7 - 如何从部署中排除隐式模块(javax.jms)?

从 JBoss 7 EAP 中排除提供的 jackson 版本

jboss eap6.1(部署应用)

JBoss EAP 7.1.0 中的 Wildfly 版本

JBoss EAP 7.1 部署失败的集成器:未找到提供程序

如何在 JBOSS EAP 7.1 中设置管理员用户(以便能够在紧急情况下通过 GUI 检查服务器?)?