Tomcat:获取 WAR 文件以解压并覆盖现有文件

Tomcat: getting WAR file to unpack & overwrite existing files

我正在努力在 Tomcat 7 上部署 WAR 文件。

当我在 webapps/ 下放置一个新的 WAR 文件 "app.war" 并且没有现有的 webapps/app/... 目录结构时,然后 stop/start Tomcat, webapps/app/... 目录结构被创建并且 WAR 中的所有文件被解压到他们在这个目录结构中的位置。一切顺利。

但是,当我在 webapps/ 下放置一个新的 WAR 文件 "app.war" 并且已经有一个现有的 webapps/app/... 目录结构,然后 stop/start Tomcat,我希望 webapps/app/... 下的现有文件被 WAR 中的相应文件覆盖。相反,似乎没有任何变化 - WAR 中的所有文件都没有插入或覆盖 webapps/app/... 目录结构中的现有文件。这似乎不是权限问题 - 即使我在 stop/starting Tomcat 之前重命名其中一个现有文件(比如 "my-class.class" 到 "my-class.class.old"),也没有已创建新的 my-class.class 文件

在 Tomcat 中处理部署的最简单方法是使用 Psi probe。这是一个简单的管理器,可以部署应用程序、显示内存状态、预编译 jsp 等

只需下载最新版本并将其放入您的 webapps 目录并重新启动 Tomcat。然后访问应用程序 (/probe) 并进行部署。检查 "Update the application if it is already deployed" 并上传 war 文件。您甚至不需要重新启动 Tomcat 来更新您的应用程序。