一、手动触发 Tomcat 热部署(最常用 3 种)
下面都是不需要重启 Tomcat、只更新当前应用的方式。
方法 1:使用 Tomcat Manager 命令(最推荐)
1. 先开启权限(conf/tomcat-users.xml)
xml
<role rolename="manager-script"/>
<user username="admin" password="123456" roles="manager-script"/>
2. 执行命令(直接复制用)
① 重载应用(热加载)
bash
运行
curl -u admin:123456 "http://localhost:8080/manager/text/reload?path=/你的应用名"
② 热部署新 war 包(覆盖更新)
bash
运行
curl -u admin:123456 -T app.war "http://localhost:8080/manager/text/deploy?path=/app&update=true"
③ 卸载应用
bash
运行
curl -u admin:123456 "http://localhost:8080/manager/text/undeploy?path=/app"
方法 2:touch 配置文件触发 reload(最简单)
不需要 Manager,不需要脚本,直接敲命令:
bash
运行
touch webapps/你的应用/META-INF/context.xml
Tomcat 检测到文件修改时间变了,就会自动 reload 这个应用。
方法 3:通过 Manager 网页手动点一下
- 访问
http://localhost:8080/manager/html - 找到你的应用
- 点击 Reload 按钮
这就是手动触发热部署。
二、关键区别(一定要懂)
-
Reload(热加载)
→ 不重启 Tomcat
→ 只重启当前应用
→ 修改配置、class 用这个
-
Deploy(热部署)
→ 上传新 war 包替换旧应用
→ 适合版本更新
三、生产最常用的一句话总结
你只要记住这一条就够了:
想要手动触发 Tomcat 应用热部署,最标准、最稳定的方法:使用 Tomcat Manager 的 /reload 接口。