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

Springboot項(xiàng)目打war包docker包找不到resource下靜態(tài)資源的解決方案

 更新時(shí)間:2019年03月25日 15:04:28   作者:雙斜杠少年  
今天小編就為大家分享一篇關(guān)于Springboot項(xiàng)目打war包docker包找不到resource下靜態(tài)資源的解決方案,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧

前一段時(shí)間遇到一個(gè)問題,是關(guān)于讀取項(xiàng)目中文件資源的問題。我是一個(gè)maven工程 我把一張照片放到resource下面,然后在本地讀取的時(shí)候可以讀取到,但是一旦打成WAR包以后就總是包找不到文件資源錯(cuò)誤。我的war包是springboot打的war包,是內(nèi)嵌的tomcat所以不解壓,然后系統(tǒng)去找路徑的時(shí)候會(huì)發(fā)現(xiàn)是個(gè)WAR包,而圖片在WAR包內(nèi),所以找不到。

為了解決這個(gè)問題,我走了好多彎路,一直在路徑上花費(fèi)時(shí)間。

一開始使用修改配置文件的方式:

# 配置靜態(tài)資源訪問前綴
spring.mvc.static-path-pattern=*/**
# 配置靜態(tài)資源路徑,默認(rèn)配置失效
spring.resources.static-locations=../upload

發(fā)現(xiàn)并不行,無法解析出相對(duì)路徑。

最后我是通過系統(tǒng)運(yùn)行去讀取文件源,然后將文件流存儲(chǔ)在服務(wù)器上,存一個(gè)臨時(shí)文件,然后系統(tǒng)再去讀這個(gè)臨時(shí)文件,然后就讀取到這個(gè)文件了。

其實(shí)就是java數(shù)據(jù)流轉(zhuǎn)換為文件

解題思路是上述那樣的。接著就是代碼了

調(diào)用代碼如下

File f = new File("/tmp/image1.jpg"));//臨時(shí)圖片存在的位置
      if (!f.exists()) {
        InputStream in = this.getClass().getResourceAsStream("/templates/emailImg.png");//圖片在項(xiàng)目中的位置
        FileUtil.inputstreamtofile(in, f);
      }
      // 如果需要使用文件,這個(gè)/tmp/image1.jpg就是臨時(shí)文件路徑

轉(zhuǎn)換方法代碼如下

public static void inputstreamtofile(InputStream ins, File file) {
    try {
      OutputStream os = new FileOutputStream(file);
      int bytesRead = 0;
      byte[] buffer = new byte[8192];
      while ((bytesRead = ins.read(buffer, 0, 8192)) != -1) {
        os.write(buffer, 0, bytesRead);
      }
      os.close();
      ins.close();
    } catch (Exception e) {
      e.printStackTrace();
    }
  }

需要注意一下, 放置臨時(shí)文件的路徑可能是在docker容器中的,而不是在服務(wù)器上. 所以需要先把前面的路徑 mkdirs, 然后再f.createNewFile;, 一下再調(diào)用FileUtil.inputstreamtofile才可以。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

相關(guān)文章

  • java system類使用方法示例 獲取系統(tǒng)信息

    java system類使用方法示例 獲取系統(tǒng)信息

    這篇文章主要介紹了java system類使用方法,該類中的方法都是靜態(tài)的。不能被實(shí)例化,沒有對(duì)外提供構(gòu)造函數(shù),該類可以獲取系統(tǒng)信息
    2014-01-01
  • 公司一般使用的分布式RPC框架及其原理面試

    公司一般使用的分布式RPC框架及其原理面試

    這篇文章主要為大家介紹了公司一般使用的分布式RPC框架及其原理的面試問題解答,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2022-03-03
  • JVM雙親委派模型知識(shí)詳細(xì)總結(jié)

    JVM雙親委派模型知識(shí)詳細(xì)總結(jié)

    今天帶各位小伙伴學(xué)習(xí)Java虛擬機(jī)的相關(guān)知識(shí),文中對(duì)JVM雙親委派模型作了非常詳細(xì)的介紹,對(duì)正在學(xué)習(xí)java的小伙伴們有很好的幫助,需要的朋友可以參考下
    2021-05-05
  • 一文掌握J(rèn)VM?Safe?Point

    一文掌握J(rèn)VM?Safe?Point

    關(guān)于?Safe?Point?是?JVM?中很關(guān)鍵的一個(gè)概念,但我估計(jì)有不少同學(xué)不是很懂,于是今天跟大家來深入聊聊?Safe?Point,通過本文學(xué)習(xí)你會(huì)了解什么是?Safe?Point?為啥需要?Safe?Point?Safe?Point?與?Stop?the?World?的關(guān)系?感興趣的朋友一起看看吧
    2022-10-10
  • Springboot Thymeleaf字符串對(duì)象實(shí)例解析

    Springboot Thymeleaf字符串對(duì)象實(shí)例解析

    這篇文章主要介紹了Springboot Thymeleaf字符串對(duì)象實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2007-09-09
  • Java的Hibernate框架中的組合映射學(xué)習(xí)教程

    Java的Hibernate框架中的組合映射學(xué)習(xí)教程

    組合映射即是指主對(duì)象和子對(duì)象關(guān)聯(lián)且擁有相同的生命周期的映射關(guān)系,這里我們將舉一些數(shù)據(jù)操作的實(shí)例,來講解Java的Hibernate框架中的組合映射學(xué)習(xí)教程
    2016-07-07
  • @Valid和@Validated注解校驗(yàn)以及異常處理方式

    @Valid和@Validated注解校驗(yàn)以及異常處理方式

    在Javaweb開發(fā)中,防止數(shù)據(jù)庫惡意攻擊是至關(guān)重要的,盡管前端校驗(yàn)可以起到一定的篩選作用,但通過工具如postman直接對(duì)后端發(fā)起請(qǐng)求的情況仍然需要后端進(jìn)行嚴(yán)格的數(shù)據(jù)校驗(yàn),Java生態(tài)下,@Valid注解配合SpringBoot提供了一個(gè)便捷高效的后端數(shù)據(jù)校驗(yàn)方案
    2024-11-11
  • Java內(nèi)存泄漏問題的排查、優(yōu)化與最佳實(shí)踐

    Java內(nèi)存泄漏問題的排查、優(yōu)化與最佳實(shí)踐

    在?Java?開發(fā)中,內(nèi)存泄漏是一個(gè)常見且令人頭疼的問題,內(nèi)存泄漏指的是程序在運(yùn)行過程中,已經(jīng)不再使用的對(duì)象沒有被及時(shí)釋放,從而導(dǎo)致內(nèi)存占用不斷增加,最終可能導(dǎo)致程序崩潰或性能顯著下降,本文給大家介紹了Java內(nèi)存泄漏排查、優(yōu)化與最佳實(shí)踐
    2025-01-01
  • 一文詳解Spring?中的順序問題

    一文詳解Spring?中的順序問題

    本文主要介紹了Spring?中的順序問題,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • SpringBoot實(shí)現(xiàn)動(dòng)態(tài)配置及項(xiàng)目打包部署上線功能

    SpringBoot實(shí)現(xiàn)動(dòng)態(tài)配置及項(xiàng)目打包部署上線功能

    本文講解的是如何使用Spring動(dòng)態(tài)配置文件,實(shí)現(xiàn)不同環(huán)境不同配置,靈活切換配置文件;以及講述了如何使用?Maven?打包,然后上傳至Linux服務(wù)器進(jìn)行部署,對(duì)SpringBoot打包部署上線過程感興趣的朋友一起看看吧
    2022-10-10

最新評(píng)論

南召县| 通城县| 商河县| 综艺| 禄劝| 武山县| 兴和县| 屏东县| 玉林市| 商洛市| 凭祥市| 沽源县| 星座| 永修县| 江北区| 尼勒克县| 文昌市| 宁陕县| 牙克石市| 乳源| 曲麻莱县| 嘉善县| 建德市| 芦溪县| 陆河县| 万年县| 云和县| 临西县| 南木林县| 呼图壁县| 陇南市| 隆安县| 永修县| 唐山市| 拉萨市| 依安县| 兴海县| 淮阳县| 隆化县| 锦屏县| 邯郸市|