spring boot打包文件后,报错\No such file or directory
生活随笔
收集整理的這篇文章主要介紹了
spring boot打包文件后,报错\No such file or directory
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
現(xiàn)象:
一段代碼:
ClassLoader loader = XXXUtil.class.getClassLoader();String jsFileName = loader.getResource("") + "/resources/" + fileName;logger.info("文件路徑為"+jsFileName);? ?在本地開發(fā)測試,完全ok(windows下);
?上測試環(huán)境,報錯/opt/jar_code/xxx/xxxx.jar!/BOOT-INF/classes!/resources/xxxxx.js (No such file or directory)
上述目錄出現(xiàn)"!" 比較奇怪。
?
解決方案:
不讀文件路徑,直接讀文件流
input = XXXUtil.class.getClassLoader().getResourceAsStream("resources" + File.separator + fileName);reader = new InputStreamReader(input, Constant.UTF_8);初看兩種方式,應(yīng)該是一致的。
其實則不同:
1.使用文件路徑,要求該路徑下的文件在文件系統(tǒng)上是可以訪問的。因為jar文件需要解壓才能訪問,直接訪問不了。
2.使用流,直接讀文件,則不存在上述要求。
轉(zhuǎn)載于:https://www.cnblogs.com/davidwang456/p/8624769.html
總結(jié)
以上是生活随笔為你收集整理的spring boot打包文件后,报错\No such file or directory的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器学习算法与Python实践之(二)支
- 下一篇: 行业第一份应用报告,伯克利盘点当前企业如