【发布时间】:2015-11-21 04:36:09
【问题描述】:
我只对一个班级的 Web 应用程序进行了更改。这是非常小的错误修复。我的 Web 应用程序基于 jsf 和 dci,它部署在 Tomcat 7 中。有什么快速的方法可以将更改应用到我的生产服务器上,或者我必须取消部署旧战争并部署带有错误修复的新战争?
【问题讨论】:
标签: java class tomcat deployment reload
我只对一个班级的 Web 应用程序进行了更改。这是非常小的错误修复。我的 Web 应用程序基于 jsf 和 dci,它部署在 Tomcat 7 中。有什么快速的方法可以将更改应用到我的生产服务器上,或者我必须取消部署旧战争并部署带有错误修复的新战争?
【问题讨论】:
标签: java class tomcat deployment reload
您可以将修改后的类文件放在适当的文件夹中以覆盖战争(或者如果您使用的是爆炸战争,则替换该类文件),然后重新启动Tomcat以确保它被拾取。
但是,如果这是您所说的生产服务器,那么我永远不会这样做,并且会从经过测试的 war 文件中进行完整部署。
【讨论】:
无论是您自己做还是 Tomcat 为您做(自动重新部署),您都必须重新启动整个 Web 应用程序。
Tomcat 无法判断您的类是否已被内存中的对象等使用,因此它必须加载一个全新的 ClassLoader 并重新启动您的应用程序以使其保持正常状态。
所以你的问题的简短回答是“不,没有快速的方法。”
【讨论】: