SpringBoot以jar启动The temporary upload location[xxxx]is not valid

场景还原:

新项目为了满足运营人员使用搭建的Boss系统,采用了SpringBoot2.0,并以Jar包的形式启动,第一次上线测试,完全正常,由于春节时隔10几天没有人登录过,后来同事反应登录的时候就报错了,查看日志信息:

message:Failed to parse multipart servlet request; nested exception is java.io.IOException: The temporary upload location [/tmp/tomcat.5735866935709960907.8010/work/Tomcat/localhost/ROOT] is not valid
Caused by: java.io.IOException: The temporary upload location [/tmp/tomcat.5735866935709960907.8010/work/Tomcat/localhost/ROOT] is not valid

原因分析:

linux系统中,springboot应用服务再启动(java -jar 命令启动服务)的时候,会在操作系统的/tmp目录下生成一个tomcat*的文件目录,上传的文件先要转换成临时文件保存在这个文件夹下面。由于临时/tmp目录下的文件,在长时间(10天)没有使用的情况下,就会被系统机制自动删除掉。所以如果系统长时间无人问津的话,就可能导致上面这个问题。

解决方案:

  • 手动在/tmp下创建相应得文件夹(不推荐使用)
  • 在 yml配置文件 中添加:
server:
  tomcat:
    basedir: /home/saysky/temp
发布了41 篇原创文章 · 获赞 14 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/Yunwei_Zheng/article/details/104018497