【发布时间】:2013-08-21 00:46:24
【问题描述】:
我有一个战争文件部署到我的 tomcat 服务器。 Tomcat解压war文件,我可以访问WEB-INF/lib文件夹。
在 WEB-INF/lib 中有更新版本的 somelib.jar。我想在不重新编译war文件的情况下升级它。
我可以更改 WEB-INF/lib 中的 somelib.jar 以进行版本升级而不会产生任何后果吗?还是我的 servlet 在重启后崩溃了?
【问题讨论】:
我有一个战争文件部署到我的 tomcat 服务器。 Tomcat解压war文件,我可以访问WEB-INF/lib文件夹。
在 WEB-INF/lib 中有更新版本的 somelib.jar。我想在不重新编译war文件的情况下升级它。
我可以更改 WEB-INF/lib 中的 somelib.jar 以进行版本升级而不会产生任何后果吗?还是我的 servlet 在重启后崩溃了?
【问题讨论】:
是的,你可以理论上。您必须重新启动 Tomcat 或在 Tomcat 中停止/启动应用程序。请注意,WAR 类似于 ZIP 文件,您可以将其解压缩,替换 JAR 文件并重新压缩。
请注意,我不建议在 WAR 中简单地替换 JAR。这可能会产生不良后果。您应该首先测试更改(是否已经测试过?)。新 JAR 可能会引入一些不兼容的更改。最佳实践也是进行配置管理,以便您以后可以随时获取或再次构建您部署的 WAR。
【讨论】:
您应该可以只更改 WEB-INF/lib 中的一个 jar 文件,但您必须重新启动您的 tomcat。
【讨论】:
尝试使用 tomcat 管理器控制台重新部署 war 文件。您可以选择启动/停止部署的 Web 应用程序。
【讨论】: