linux使用freemarker找不到文件夹路径

问题: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 + "/";
    }


    

你可能感兴趣的:(DeBug)