本文介绍: 由于临时 /tmp 目录下的文件,在长时间(10天)没有使用的情况下,Linux系统执行了 tmp 目录清理服务(systemd–tmpfiles–clean.service),导致 /tmp/undertow…在 Linux 系统中,Spring Boot 应用启动时,会在操作系统的 /tmp 目录下生成一个 tomcat(或 undertow )临时目录,上传的文件会先转换成临时文件保存在这个文件夹下面。3)添加启动参数 –java.tmp.dir=/path/to/application/temp/
1.问题原因
在 Linux 系统中,Spring Boot 应用启动时,会在操作系统的 /tmp 目录下生成一个 tomcat(或 undertow )临时目录,上传的文件会先转换成临时文件保存在这个文件夹下面。
由于临时 /tmp 目录下的文件,在长时间(10天)没有使用的情况下,Linux系统执行了 tmp 目录清理服务(systemd–tmpfiles–clean.service),导致 /tmp/undertow… 下的文件被清理。
然而在上传的时候,服务需要先去创建/tmp/undertow…/…upload 临时文件,但是调用 Files.createFile(…) 的时候就会发现找不到父目录,才导致了以上的错误。
2.解决方法
1)第一种:重启服务
可以暂时解决问题,进行发布上传。
2)第二种:配置文件指定目录
需要在服务器手动创建文件夹
mkdir –p /data/tmp
3)添加启动参数 –java.tmp.dir=/path/to/application/temp/
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。