最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

undertow、tomcat下臨時目錄tmp拋錯誤異常的解決

 更新時間:2026年03月05日 14:46:23   作者:賽賽liangks  
文章主要介紹了Spring Boot應用在上傳文件時遇到的`NoSuchFileException`錯誤,原因是系統(tǒng)臨時目錄被清理,通過手動指定臨時目錄或添加啟動參數(shù)`-java.tmp.dir`,可以解決這個問題

問題場景

springboot上傳文件報錯:

java.nio.file.NoSuchFileException: /tmp/undertow.XXX

java.nio.file.NoSuchFileException: /tmp/tomcat.XXX

原因分析

系統(tǒng)長時間不使用導致臨時目錄被刪除

Spring Boot 應用以 java -jar 命令啟動時,會在操作系統(tǒng)的 /tmp 目錄下生成一個臨時目錄,

對于http POST請求來說,它需要使用這個臨時目錄來存儲post數(shù)據(jù)。

由于臨時 /tmp 目錄下的文件,在長時間沒有使用的情況下,系統(tǒng)執(zhí)行了 tmp 目錄清理服務,導致 /tmp/XXXX文件被清理,然而在上傳的時候,undertow或tomcat 服務器需要創(chuàng)建臨時文件,但是調(diào)用 Files.createFile(…) 的時候就會發(fā)現(xiàn)找不到父目錄,才導致了以上的錯誤。

解決方案

在系統(tǒng)中手動指定臨時目錄

undertow服務器

  1. 在系統(tǒng)中手動創(chuàng)建臨時文件存放目錄,并且分配權限
# 創(chuàng)建臨時文件存放目錄
mkdir -p /data/upload_tmp
# 修改為可寫可讀可執(zhí)行權限
chmod 777 /data/upload_tmp
  1. 項目配置文件添加以下配置,并重啟服務
spring:
  servlet:
    multipart:
      # 設置臨時目錄
      location: /data/upload_tmp

tomcat服務器

  1. 在系統(tǒng)中手動創(chuàng)建臨時文件存放目錄,并且分配權限
# 創(chuàng)建臨時文件存放目錄
mkdir -p /data/upload_tmp
# 修改為可寫可讀可執(zhí)行權限
chmod 777 /data/upload_tmp
  1. 項目配置文件添加以下配置
spring:
  http:
    multipart:
      location: /data/upload_tmp
server:
  tomcat:
     basedir: /tmp/tomcat
  1. 配置MultipartConfig
@Configuration
public class MultipartConfig {

  @Bean
  public MultipartConfigElement multipartConfigElement() {
    MultipartConfigFactory factory = new MultipartConfigFactory();
    factory.setLocation("/tmp/tomcat");
    return factory.createMultipartConfig();
  }
}
  1. 添加啟動參數(shù) -java.tmp.dir=/path/to/application/temp/ ,并重啟

總結

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Tomcat處理http請求之源碼分析

    Tomcat處理http請求之源碼分析

    本文將從請求獲取與包裝處理、請求傳遞給Container、Container處理請求流程,這3部分來講述一次http穿梭之旅,感興趣的同學可以跟著小編一起學習
    2023-05-05
  • tomcat的catalina.out日志按自定義時間格式進行分割的操作方法

    tomcat的catalina.out日志按自定義時間格式進行分割的操作方法

    這篇文章主要介紹了tomcat的catalina.out日志按自定義時間格式進行分割,包括安裝Cronolog,修改Tomcat下bin/catalina.sh文件,shell利用crontab自動清除日志的相關知識,需要的朋友可以參考下
    2022-04-04
  • 詳解Tomcat中Filter的執(zhí)行流程

    詳解Tomcat中Filter的執(zhí)行流程

    Filter是servlet規(guī)范中定義的java web組件, 在所有支持java web的容器中都可以使用,它是位于前端請求到servlet之間的一系列過濾器,也可以稱之為中間件,本文詳解介紹了Tomcat中Filter是怎樣執(zhí)行的,需要的朋友可以參考下
    2023-06-06
  • Tomcat Server的設計和實現(xiàn):StandardServer詳解

    Tomcat Server的設計和實現(xiàn):StandardServer詳解

    文章主要介紹了Tomcat中StandardServer的整體類依賴結構,通過解析server.xml文件來理解Server的相關配置屬性及其作用,感興趣的朋友跟隨小編一起看看吧
    2026-04-04
  • Tomcat在linux環(huán)境中開機自啟(定時重啟)的方法

    Tomcat在linux環(huán)境中開機自啟(定時重啟)的方法

    我們經(jīng)常會遇到服務器斷電或異常,而異常后tomcat中部署的web項目需要我手動去啟動,為此,特別貢獻出Linux環(huán)境中Tomcat開機自啟的方式供學習使用,需要的朋友可以參考下
    2023-10-10
  • Tomcat容器管理安全的驗證方式匯總

    Tomcat容器管理安全的驗證方式匯總

    當訪問服務器中受保護的資源時,容器管理的驗證方法可以控制確認用戶身份的方式。Tomcat支持四種容器管理的安全防護。下面小編給大家分享Tomcat容器管理安全的驗證方式匯總,感興趣的朋友一起看看吧
    2016-11-11
  • servlet和tomcat_動力節(jié)點Java學院整理

    servlet和tomcat_動力節(jié)點Java學院整理

    這篇文章主要介紹了servlet和tomcat,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • Tomcat中指定JDK版本的方法實現(xiàn)

    Tomcat中指定JDK版本的方法實現(xiàn)

    在Tomcat中指定JDK版本可以通過設置環(huán)境變量或修改啟動腳本來實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-12-12
  • Tomcat請求處理流程與源碼淺析(最新推薦)

    Tomcat請求處理流程與源碼淺析(最新推薦)

    這篇文章主要介紹了Tomcat請求處理流程與源碼淺析,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-05-05
  • 如何在IntelliJ IDEA 2018上配置Tomcat并運行第一個JavaWeb項目

    如何在IntelliJ IDEA 2018上配置Tomcat并運行第一個JavaWeb項目

    這篇文章主要介紹了在IntelliJ IDEA 2018上配置Tomcat并運行第一個JavaWeb項目,需要的朋友可以參考下
    2020-09-09

最新評論

连州市| 梁山县| 彝良县| 新龙县| 张家口市| 宣武区| 惠水县| 许昌县| 大厂| 通榆县| 绵竹市| 阜宁县| 黄龙县| 华池县| 志丹县| 夏河县| 峨眉山市| 同仁县| 西昌市| 昌都县| 柘城县| 毕节市| 井冈山市| 永泰县| 江阴市| 长武县| 林口县| 东乡族自治县| 怀仁县| 惠东县| 乐陵市| 壶关县| 子长县| 虎林市| 雅江县| 克什克腾旗| 五大连池市| 吉木乃县| 大渡口区| 青岛市| 涟源市|