问题:java.io.FileNotFoundException: root\apache-tomcat-7.0.54\webapps\default\WEB-INF\templates does not exist.
分析:系统中使用到了freemarker技术去打印模板,但是当部署到linux上时,报找不到文件路径。
仔细比对后,发现是windows的文件路径与linux文件路径的斜杠不一样 windows是“\”,linux是“/”。
修改代码后,文件路径改过来了,但是依然报找不到文件:
java.io.FileNotFoundException: root/apache-tomcat-7.0.54/webapps/default/WEB-INF/templates does not exist.
再仔细对比linux服务器中的文件路径后发现,root前面还有一个斜杠才能访问到模板文件。
即完整路径如下:/root/apache-tomcat-7.0.54/webapps/default/WEB-INF/templates
解决方案:在代码中加入判断是linux环境还是windows环境,然后修改斜杠的方向。
String path = "";
if (File.separator.equals("/"))
{
//linux环境
path = path + "/";
}