tomcat server.xml文件:
<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
autoDeploy:为true时,自动部署。表示tomcat在运行状态时,可以监测appBase即默认webapps文件夹下的文件,如果有文件加入,则自动发布这个应用。如果war包删除,相应的文件夹也会被删除。
unpackWARs:为true时,会先解压war包成文件夹后运行应用。false时直接运行war包。
因此:
war包不能在tomcat运行时删除,否则会将相应的工程文件夹自动删除。可以将tomcat停止后再删除,重启后不影响工程文件夹。
重启时如果有和war包相同名称的工程文件夹时,不会再次解压war包,也不会覆盖原有工程文件夹。
为了防止误操作造成不必要的麻烦, 本人把Tomcat做了统一设置打包起来
1、禁止自动部署, autoDeploy=“false”, tomcat运行时删除war包就不会删除项目文件夹了
<Host appBase="webapps" autoDeploy="false" name="localhost" unpackWARs="true">
2、修改conf\logging.properties, 将encoding = UTF-8替换为encoding = GBK, 一共5个, 防止tomcat控制台中文乱码
org.apache.juli.AsyncFileHandler.encoding = UTF-8
参考文章地址:https://blog.csdn.net/weixin_42490383/article/details/109956181