docker部署springboot项目出现java.io.FileNotFoundException: /xxxx/ xxxx(No such file or directory)

环境 阿里云的centos部署的springboot项目,采用maven打的jar包。

项目中设计文件的上传和下载,所以会有对于文件路径的处理,但是在下载文件的时候一直会出现java.io.FileNotFoundException:  /xxxx/ xxxx(No such file or directory) 这个错误,一开始查实权限的问题,后来就给权限,结果也不是,后来排除发现是对于设置的文件路径中的“/” 斜线的使用问题。

我的启动docker的命令是:

docker run --name springboot -p 8080:8080 -it -v /root/myweb:/usr/local/project docker.io/java

exit

docker start springboot

docker exec -i -t springboot /bin/sh

cd /usr/local/project

java -jar springboot .jar &

上面命令不详细说了,就是挂载文件,启动docker容器,进入容器,启动项目

如果你设置的路径是这样的:

String fileName = "/usr/local/downLoadFile/test.txt";

此时usr前面有斜线,那么就会去docker的容器里面去找这个文件。(可以尝试在文件路径找不到的情况下使用mkdir或者mkdirs方法在服务器中创建文件夹,然后使用命令在linux中搜索这个文件夹就知道这个在哪了,你就会明白。)

如果你这样设置:

String fileName = "usr/local/downLoadFile/test.txt";

就回去你的存放springboot项目的jar的位置目录开始找这个文件。(也就是myweb下的usr下的local等等。)

对于new file的参数还需要详细研究,到底是绝对还是相对路径以及如何使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值