Java:Tomcat的部署实例之资源目录

Tomcat上部署应用后,原本目录是否会被移除。

实例

一个项目的资源放在了WebContent下面,这样每次打包,都会将这些文件打包进去,这样在打包时,导致打出来的war包有好几百兆,这样上传Git也非常不方便。

方案1:

分析:如果删除掉本地WebContent下的资源文件,再部署到服务器上,war包其实是一个压缩包,加压后覆盖原本目录下的相同内容,因为新上传的war包没有相同的资源文件,这样就不会覆盖原本的资源文件。

结果:加压后的项目目录也不存在资源文件了,看来这个部署过程,是会删掉原本的项目目录的。

方案2:

分析:因为webapps是web服务根目录,那么把资源文件从项目目录移到webapps下面,这样应该也可以被访问到。

结果:成功,可以被访问到。

为了验证这个,上网查了很多帖子,众说纷纭,最后还是在 官网
找到这么一段话:

The following deployment sequence will occur on Tomcat startup in that case:

  1. Any Context Descriptors will be deployed first.
  2. Exploded web applications not referenced by any Context Descriptor will then be deployed. If they have an associated .WAR file in the appBase and it is newer than the exploded web application, the exploded directory will be removed and the webapp will be redeployed from the .WAR
  3. .WAR files will be deployed

注意这里 the exploded directory will be removed and the webapp will be redeployed from the .WAR
,原本的解压目录会被移除,应用会被重新从 war
文件中部署。

寻根究底,而不人亦云,这样才是端正的学习的态度。

原文 

http://www.oxysun.cn/java/java-deploy-resource-folder.html

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » Java:Tomcat的部署实例之资源目录

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址