从这个博客:
您需要做的就是
保持您的旧应用程序 foo.war 不受影响
将新版本的应用程序命名为 foo##0001.war 并上传到 webapps 文件夹
旧会话将使用 foo.war,新用户将使用 foo##0001.war。
这是在不重新启动网络服务器的情况下部署新版本应用程序的最佳方式吗?字符串是否正确,myApp.war
将替换为myApp##0001.war
,字符串似乎相当不寻常。
根据Tomcat 7 文档:
出于性能原因和允许版本控制方案的灵活性,版本组件被视为字符串。字符串比较用于确定版本顺序。如果未指定版本,则将其视为空字符串。因此,foo.war 将被视为比 foo##11.war 更早的版本,而 foo##11.war 将被视为比 foo##2.war 更早的版本。如果使用纯数字版本控制方案,建议使用零填充,以便将 foo##002.war 视为比 foo##011.war 更早的版本。
所以字符串虽然非常规似乎是预期的。
但我想知道:从 Tomcat 管理中,您可以在不重新启动 Tomcat 的情况下部署/取消部署 Web 应用程序。你不能用那个吗?