今天把程序部署到服务器,发现异常,FileNotFound异常,很快定位到getServletContext().getRealPath("/");返回空的问题。这个问题通常是传递的虚拟路径不对或者使用war包导致的。而我的程序传递的路径肯定正确,并且部署的时候对.war包做了解压。对这个问题上网搜搜了n编,始终找不到问题所在,而部署子本机是完全正确的。
仔细梳理了一下找到了一个线索:我部署到服务器的时候,我等了半天,服务器没帮我把war解压,于是自己把war解压了,而解压之后没有把war包删掉,是不是服务器启动的程序是war包里面的,而不是我解压之后的呢?于是我就rm掉war包,然后开始测试,结果结果同样如此,感觉比较失望,失望之时想起了服务器可能有编译缓存,于是重启服务器,问题终于解决。
解决问题的还是要细心梳理清楚,然后定位到问题所在,最后得到解决办法。
博主分享了解决服务器部署中遇到的FileNotFound异常,关键在于理解War包未自动解压导致的路径问题。通过细心排查,发现服务器启动的是压缩包内的应用,重启服务器解决了缓存问题。

5095

被折叠的 条评论
为什么被折叠?



