记一次利用tomcat manager部署war包失败并解决的经历

tomcat安装好后,默认是附带了一个Tomcat Web Application Manager,可以在上面方便的进行部署等操作,我想直接通过war file to depliy功能直接上传我的war包部署到tomcat中,如下图:

记一次利用tomcat manager部署war包失败并解决的经历

我的war文件位于:E:\tomcatwars\server.war

选中这个文件,deploy:

记一次利用tomcat manager部署war包失败并解决的经历

deploy后:

记一次利用tomcat manager部署war包失败并解决的经历

发现Path是:/E:tomcatwarsserver ,并且点击后无法访问

记一次利用tomcat manager部署war包失败并解决的经历

进入tomcat安装目录,查看webapps:

记一次利用tomcat manager部署war包失败并解决的经历

注意这个目录的名称为:E:tomcatwarsserver,包含一个符号":"

查看tomcat的错误日志:

记一次利用tomcat manager部署war包失败并解决的经历

 

这段日志说明启动位于路径 /webapps/E:tomcatwarsserver 的程序失败,因为路径名有一个符号":",

可是为什么文件夹名称含有一个":"呢?是不是跟浏览器的请求有关?

用edge浏览器上传时是这样的:

记一次利用tomcat manager部署war包失败并解决的经历

即包含了文件的全路径,tomcat肯定是依据上传的文件名简单进行去掉“\”,"/" 就作为文件名。

那是不是浏览器问题?换一个chrome试下:

记一次利用tomcat manager部署war包失败并解决的经历

留意chrome中选择一个文件后文件名是不包含全路径的,点击部署:

记一次利用tomcat manager部署war包失败并解决的经历

可以看到部署成功了

记一次利用tomcat manager部署war包失败并解决的经历

并且可以访问。

总结:跟浏览器有关,edge有问题,chrome、firefox没有问题!!!

为了解决这个问题耗费了我好多时间,而且网上也查不到相关文章,想想还是记录下来,帮助有需要的人!