91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 開發技術 > 
  • springboot項目打成jar包后無法獲取static下的靜態資源文件的問題分析

springboot項目打成jar包后無法獲取static下的靜態資源文件的問題分析

發布時間:2020-10-09 07:30:29 來源:腳本之家 閱讀:368 作者:PangBo_Cool 欄目:開發技術

springboot 后端項目 做某個功能時 需要讀取根目錄下的.doc文件,具體項目中路徑如下:

springboot項目打成jar包后無法獲取static下的靜態資源文件的問題分析

開始是通過絕對路徑讀取文檔,在本地沒有任何問題。
但是 講項目打成jar包 部署到測試環境發現無論怎樣都讀取不到,然后在本地運行jar包出現同樣的情況。

捕獲異常:java.io.FileNotFoundException

[org.apache.ibatis.session.defaults.DefaultSqlSession@55b40849]
java.io.FileNotFoundException: class path resource [static/****.doc] cannot be resolved to absolute file path because it does not reside in the file system: jar:file:/D:/**/***/target/****-0.0.1-SNAPSHOT.jar!/BOOT-INF/classes!/static/****.doc

原因:
此時運行中的Java程序其實是在讀取jar包中的文件,直接使用下面的方式是不行的:

常見的獲取路徑寫法:
//例子 比如文件路徑 src\main\resources\static\***.doc
String path = this.getClass().getClassLoader().getResource("").getPath()+"/static/***.doc";
File file = new File(path);

在java中,如果應用打成jar包后,應用運行后需要讀取本jar包之內的文件,更換寫法:

通過類加載器的getResourceAsStream方法,讓jar讀取到自己的資源文件
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("static/***.doc");

即可。

總結

到此這篇關于springboot項目打成jar包后無法獲取static下的靜態資源文件的問題分析的文章就介紹到這了,更多相關springboot打成jar包無法獲取靜態資源文件內容請搜索億速云以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持億速云!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

青冈县| 五家渠市| 余庆县| 沿河| 和林格尔县| 上杭县| 徐汇区| 盘山县| 灯塔市| 腾冲县| 巢湖市| 石屏县| 登封市| 弥勒县| 呼伦贝尔市| 仁化县| 隆子县| 财经| 舒兰市| 宜宾县| 玉龙| 成安县| 霍林郭勒市| 辉县市| 兴山县| 龙门县| 池州市| 焦作市| 淄博市| 福清市| 德兴市| 图片| 彭州市| 利津县| 溧水县| 彭阳县| 大足县| 北票市| 龙门县| 军事| 浦江县|