引言
在学习中看到了Spring项目在Tomcat上热部署的方式,由于以前项目的部署方式都是先打包,再上传,所以印象很深刻,以此记录
工具
IDE工具为IDEA,Linux图形化工具为Xftp,shell工具为Xshell
Tomcat 热部署
1. Tomcat配置
1.1 上传Tomcat安装包并解压
官方网站下载Redis的Linux系统安装包,后缀 .tar.gz,使用XFtp上传到Linux服务器

1.2 Tomcat的配置
需要实现热部署,自然就需要通过Maven操作Tomcat,所以就需要Maven取得操作Tomcat的权限,这一步就是配置tomcat的可操作权限
第一步: 修改conf/tomcat-user.xml文件
[root@VM_175_68_centos apache-tomcat-9.0.8]# vim conf/tomcat-users.xml
在<tomcat-users>节点下面增加如下配置:
<role rolename="manager-gui" />
<role rolename="manager-script" />
<user username="tomcat" password="tomcat" roles="manager-gui, manager-script"/> //用户名和密码可以自行设置,后面会用

Tomcat可以设置四个角色,分别代表不同的权限,可自行配置,如下图:

第二步: 修改webapps/manager/META-INF/context.xml文件
由于本人使用的是Tomcat9,还需要这一项额外的配置,好像Tomcat8以前的版本不需要,以后的版本就需要了,现在大多数都是8和9版本,写下来最好
注释掉以下内容:
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
<!--<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />-->

1.3 启动Tomcat
[root@VM_175_68_centos apache-tomcat-9.0.8]# ./bin/startup.sh
第一步: Tomcat默认端口8080,访问出现默认页面即启动成功
第二步: 点击Manager App按钮

弹出如下窗口则证明配置生效:

第三步: 填入自行设置的用户名和密码

出现上图界面则说明Tomcat配置完成
由于我们使用自动上传部署,这里不做任何操作,只当验证
2. SpringMVC 项目配置
使用maven插件实现热部署
需要使用Maven的Tomcat插件,实现maven打包——>上传——>热部署一气呵成
Maven的配置
修改项目的pom.xml文件,在<build>节点下面增加如下配置:tomcat7的配置
<url>http://119.29.233.28:8080/manager/text</url>
<username>tomcat</username>
<password>tomcat</password>

用户名和密码为Tomcat配置文件中所配置的,服务器ip+端口(若没有更改端口默认为8080,若更改了这里也须改变),端口后的路径/manager/text是固定的
3. IDE部署
3.1 部署准备
-

-

-

-

热部署命令:
初次部署可以使用tomcat7:deploy命令
如果已经部署过使用tomcat7:redeploy命令
部署跳过测试:tomcat7:redeploy -DskipTests
由于此方式是替换掉webapps下的ROOT文件夹,已存在,所以使用命令tomcat7:redeploy
3.2 执行命令
- 控制台日志输出:

- 浏览器访问

访问成功!
总结
到此,Spring项目在Tomcat的热部署就完成了,希望我的文章对你有所帮助

本文介绍了如何在SpringMVC项目中实现Tomcat的热部署,包括Tomcat的配置、SpringMVC项目的配置以及IDE的部署步骤。通过修改Tomcat配置文件,配置Maven的Tomcat插件,以及在IDE中执行特定命令,可以实现项目的自动打包、上传和运行。
1万+

被折叠的 条评论
为什么被折叠?



