spring boot打包文件后,报错\No such file or directory
2024-09-06 01:36:24
现象:
一段代码:
ClassLoader loader = XXXUtil.class.getClassLoader();
String jsFileName = loader.getResource("") + "/resources/" + fileName;
logger.info("文件路径为"+jsFileName);
在本地开发测试,完全ok(windows下);
上测试环境,报错/opt/jar_code/xxx/xxxx.jar!/BOOT-INF/classes!/resources/xxxxx.js (No such file or directory)
上述目录出现"!" 比较奇怪。
解决方案:
不读文件路径,直接读文件流
input = XXXUtil.class.getClassLoader()
.getResourceAsStream("resources" + File.separator + fileName);
reader = new InputStreamReader(input, Constant.UTF_8);
初看两种方式,应该是一致的。
其实则不同:
1.使用文件路径,要求该路径下的文件在文件系统上是可以访问的。因为jar文件需要解压才能访问,直接访问不了。
2.使用流,直接读文件,则不存在上述要求。
最新文章
- 基本组件的使用——UITabBarController
- Rabin-Karp指纹字符串查找算法
- SuiteScript >; Script Queue Monitor (Beta)
- iframe 简单的一个用法 局部调用
- 新年PR交期回写,展望期由14天改为30天,FP_PR2SAP ;转单量改为100W;FP_PR2SAP_MOD_NEW
- 学习ASP.NET MVC(九)——“Code First Migrations ”工具使用示例
- Silverlight 调用自托管的wcf 报跨域异常的处理
- 2015弱校联盟(1) - C. Censor
- POJ 1442 Black Box
- [项目机会]citrix 虚拟桌面对于java等高CPU占用率如何解决
- Jersey框架一:Jersey RESTful WebService框架简介
- CSAPP(2):程序的汇编表示(Linux版)
- 分布式全局不重复ID生成算法
- Ubuntu下Git服务端搭建
- PHP 常用字符串函数
- JAVA常见简答题
- PAT1048. Find Coins(01背包问题动态规划解法)
- [树莓派]启用root账户
- Django web框架-----url path name详解
- vue-cli使用swiper插件
热门文章
- 洛谷 4246 BZOJ 1018 [SHOI2008]堵塞的交通
- 初学hash
- BZOJ 2095 [POI2010]Bridges (最大流、欧拉回路)
- hadoop balancer 二
- 【Codeforces 464A】No to Palindromes!
- Apache 流框架 Flink,Spark Streaming,Storm对比分析(2)
- HDU 1018 阶乘数的位数
- BZOJ 1853
- windows开启3306端口并用可视化工具访问远程mysql(授权访问)
- android中读取通讯录学习笔记