【问题标题】:Change JAR File after deployed WAR on Tomcat possible?在Tomcat上部署WAR后更改JAR文件可能吗?
【发布时间】:2013-08-21 00:46:24
【问题描述】:

我有一个战争文件部署到我的 tomcat 服务器。 Tomcat解压war文件,我可以访问WEB-INF/lib文件夹。

在 WEB-INF/lib 中有更新版本的 somelib.jar。我想在不重新编译war文件的情况下升级它。

我可以更改 WEB-INF/lib 中的 somelib.jar 以进行版本升级而不会产生任何后果吗?还是我的 servlet 在重启后崩溃了?

【问题讨论】:

    标签: java tomcat jar war


    【解决方案1】:

    是的,你可以理论上。您必须重新启动 Tomcat 或在 Tomcat 中停止/启动应用程序。请注意,WAR 类似于 ZIP 文件,您可以将其解压缩,替换 JAR 文件并重新压缩。

    请注意,我不建议在 WAR 中简单地替换 JAR。这可能会产生不良后果。您应该首先测试更改(是否已经测试过?)。新 JAR 可能会引入一些不兼容的更改。最佳实践也是进行配置管理,以便您以后可以随时获取或再次构建您部署的 WAR。

    【讨论】:

      【解决方案2】:

      您应该可以只更改 WEB-INF/lib 中的一个 jar 文件,但您必须重新启动您的 tomcat。

      【讨论】:

      • 有没有其他方法可以在不重启tomcat的情况下替换WEB-INF/lib中的jar?
      • @gaurav 实际上,您可以使用 tomcat 管理器控制台 - 取消部署旧战争并部署新战争,而无需像其他答案中指出的那样重新启动 tomcat。
      • 在这种情况下,使用maven生成jar并通过重新启动tomcat而不是生成新的WAR并进行部署和取消部署来替换它在WEB-INF/lib中会更容易......
      【解决方案3】:

      尝试使用 tomcat 管理器控制台重新部署 war 文件。您可以选择启动/停止部署的 Web 应用程序。

      【讨论】:

        猜你喜欢
        • 2010-09-13
        • 2012-07-29
        • 2012-12-16
        • 2015-09-03
        • 1970-01-01
        • 1970-01-01
        • 2015-04-18
        • 2016-08-23
        • 2015-05-08
        相关资源
        最近更新 更多