博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【SpringBoot】jar包getFile问题
阅读量:1989 次
发布时间:2019-04-27

本文共 641 字,大约阅读时间需要 2 分钟。

获取文件路径的代码

File path = null;try {
path = new File(ResourceUtils.getURL("classpath:").getPath());} catch (Exception e) {
e.printStackTrace();}

本地调试运行均没有任何问题,打成jar包后部署到服务器上报错FileNotFoundException

使用绝对路径或者使用ResourceUtils.getFile等方式均同样出现以上问题

错误原因:

ResouceUtils.getFile()是专门用来加载非压缩文件类型的资源的,所以它根本不会去读取jar包中的资源,本地之所以没事是因为本地访问的不是jar而是直接编译的

解决方法:

要想读取jar包中的文件,只能通过流来进行读取,可以使用new ClassPathResource(filepath)

代码如下

ClassPathResource resource = new ClassPathResource("");// 获取文件路径String path = resource.getURL().getPath();// 获取文件名称filename = resource.getFilename();// 获取文件流InputStream inputStream = resource.getInputStream();

打成jar包后,可成功正常运行

转载地址:http://rptvf.baihongyu.com/

你可能感兴趣的文章
Linux Kernel and Android 休眠与唤醒(中文版)
查看>>
Android中间件开发----Windows下Android环境搭建(最新最方便)
查看>>
C/C++如何返回一个数组/指针
查看>>
如何在 Ubuntu 16.04 上安装并使用 TensorFlow
查看>>
基于Android NDK的学习之旅-----JNI LOG打印
查看>>
语音命令词识别
查看>>
Linux tool: convert binary file to C/C++ source code array
查看>>
腾讯AI语音识别API踩坑记录
查看>>
linux中Oops信息的调试及栈回溯—Linux人都知道,这是好东西!
查看>>
C语言与javascript的不同之处
查看>>
Android照相功能驱动层中HAL的实现(基于OK6410开发板+OV9650摄像头)
查看>>
Android Camera HAL设计初步
查看>>
基于U-boot上TFTP服务器更新系统
查看>>
P4139 上帝与集合的正确用法
查看>>
P3811 【模板】乘法逆元
查看>>
P5431 【模板】乘法逆元2
查看>>
P1495 【模板】中国剩余定理(CRT)/曹冲养猪
查看>>
P3868 [TJOI2009]猜数字
查看>>
YbtOJ——贪心算法【例题3】畜栏预定
查看>>
YbtOJ——贪心算法【例题2】雷达装置
查看>>