Tomcat上部署应用后,原本目录是否会被移除。
实例:
一个项目的资源放在了WebContent下面,这样每次打包,都会将这些文件打包进去,这样在打包时,导致打出来的war包有好几百兆,这样上传Git也非常不方便。
方案1:
分析:如果删除掉本地WebContent下的资源文件,再部署到服务器上,war包其实是一个压缩包,加压后覆盖原本目录下的相同内容,因为新上传的war包没有相同的资源文件,这样就不会覆盖原本的资源文件。
结果:加压后的项目目录也不存在资源文件了,看来这个部署过程,是会删掉原本的项目目录的。
方案2:
分析:因为webapps是web服务根目录,那么把资源文件从项目目录移到webapps下面,这样应该也可以被访问到。
结果:成功,可以被访问到。
为了验证这个,上网查了很多帖子,众说纷纭,最后还是在 官网 找到这么一段话:
The following deployment sequence will occur on Tomcat startup in that case:
注意这里 the exploded directory will be removed and the webapp will be redeployed from the .WAR
,原本的解压目录会被移除,应用会被重新从 war
文件中部署。
寻根究底,而不人云亦云,这样才是端正的学习的态度。