windows下tomcat热部署旧文件资源被锁定导致文件删除失败

企业通过Jenkins远程部署tomcat ,tomcat在windows操作系统下,tomcat开启自动部署,在删除旧文件时发生资源被锁定导致服务启动失败。网上查阅一些资料说是在tomcat context.xml文件中设置antiResourceLocking为true。这个属性设置之后服务正常启动但又遇到了另一问题,就是如果应用的antiResourceLocking属性设置为true,就将应用的doc base移到临时目录下,让Tomca不会占用webapps下的文件。Tomcat里java.io.tmpdir默认指向Tomcat的temp目录导致访问资源时出现404的问题。这一问题经过公司大佬给我讲解恍然大悟,因为tomcat 下的context文件是默认是针对tomcat所有的webapp应用如果设置antiResourceLocking为true 所有的webapp都会进入临时文件目录之后上传的资源文件都访问不到原因是上传的资源都在webapp目录下临时目录是没有的重启tomcat后才会把资源加载到临时目录。怎么解决问题如下

1,如果你的资源访问路径是 https://www.xxx.com/cmd  这个cmd就是你的访问路径 在

tomcat conf\Catalina\localhost目录下创建一个 cmd.xml

2,重写Context配置 例如<Context antiResourceLocking="false" path="/cmd" docBase="本地资源真实路径">
</Context>   antiResourceLocking 设置为false之后上传的资源文件就能访问到了 (默认的context antiResourceLocking还是要设置为true)到此热部署旧文件资源被锁定这个问题就解决了

文笔不咋地将就看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值