Tomcat8 更改WEB-INF/下的class后-用自带manager实现reload
解决了困扰很长时间的问题~
1. 适用场景
- 项目直接在tomcat/webapps/目录下进行部署
- class代码有比较小的改动,可直接复制IDEA里编译好的class文件到服务器tomcat对应目录下
- 以前总是重启服务,导致同时重启部署在一个tomcat下的多个项目,费时费力
- 我的项目部署目录结构
2.解决思路之一
用tomcat自带manager工具
3.详细步骤
-
- 去官网下载一个新的tomcat8安装包,把目录下/manager拷贝到你的服务器tomcat/webapps/下。启动tomcat。
-
- 配置manager的用户名和密码,修改完不用重启tomcat,会自动加载修改的配置文件。如果以前没配置过,修改 /tomcat/conf/tomcat-users.xml 文件,我配置的用户名是tomcat密码是明文,角色建议和我的一样,可以参考官网 的文档,见文档最后 。
配置文件如下图
文字版,你粘贴
<role rolename="manager"/>
<role rolename="admin"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-gui"/>
<user username="tomcat" password="替换成你的密码" roles="manager,admin,manager-gui,manager-script"/>
-
- 在服务器的浏览器上输入 http://localhost:8080/manager/text/reload?path=/你的项目根目录A 端口8080 是你服务器。 此时tomcat会有reload的输出。不会影响其他部署的项目,只reload项目A。
4.官网文档地址
5. 不适用情况
- 官网文档说的很清楚,这个方法不适合用war包部署的情况。用war包部署的小伙伴们,再找找对应方法吧。