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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章