项目在Windows和Linux下部署的差异以及需要注意点

1)Linux下路径和文件名都是区分大小写的

abc/bcd/aa.jpg和abc/Bcd/aa.jpg是两个不同的文件路径,window访问没问题,Linux大小写敏感会导致找不到文件

2)盘符及目录分隔符的区别

父子目录及目录与文件的分隔符,Windows是\,而Linux是/,java编码最好使用File.separator(能够自动识别Widow或者Linux,使用想用的分隔符)

两个不同路径分隔符,window下;,Linux下为:,java编码最好使用File.pathSeparator

3)个人实践

File file = new File("C:\download/pic/1.jpg")可以被java识别,因此web项目中properties文件中配置文件存放根路径,
Windows下为C:\download,Linux下为/download,数据库中仅存放/pic/1.jpg这样的文件访问路径(这种分隔符也符合web资源的请求)

4)在linux 下java 的默认的文件写入权限仅局限在执行目录之下。如果需要在其他目录写入文件或者文件夹 需要手动设置以下权限。(有时间测试一下)

File f=new File("/home/sxl/out");
f.setWritable(true, false);

posted on 2018-10-12 10:36  ${}  阅读(3987)  评论(0编辑  收藏  举报

导航