Java SpringBoot 打包后 获取文件 打包后找不到文件 解决方法

在SpringBoot下 本地运行获取项目下的文件是没问题的,在打包后获取则找不到文件
原因:

在Spring Boot项目中,当尝试访问项目下的文件时,本地开发环境和打包后的运行环境可能会有所不同。在本地开发时,通常可以直接通过相对路径或类路径来访问文件,因为文件就位于的项目目录中。但是,项目打包成JAR或WAR文件并部署到服务器上时,这些文件的结构会发生变化,所以需要以不同的方式来访问它们。

在Spring框架中,ResourcePatternResolver是一个接口,它允许你根据给定的模式来解析资源。PathMatchingResourcePatternResolver是这个接口的一个实现,它支持基于Ant样式的路径模式来查找资源。

当你创建一个PathMatchingResourcePatternResolver的实例时,你可以用它来解析项目内部或文件系统上的资源路径。例如,你可以用它来查找类路径(classpath)上的资源,或者查找文件系统上的资源。

上示例,说明如何使用PathMatchingResourcePatternResolver来加载类路径上的资源:

 //获取容器资源解析器
ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
//获取所有匹配的文件Resource[] resources = resolver.getResources(filePath); //文件路径可以不写到根目录
if (resources.length > 0) {  //大于0代表找到了相关文件//获得文件流,因为在jar文件中,不能直接通过文件资源路径拿到文件,但是可以在jar包中拿到文件流//读取的文件流   todo 如果不确定是一个或者不是只需要第一个文件则可以遍历获取resources[0].getInputStream();  //拿到的文件流 这个时候就可以去使用他操作了哦
}
如上filePath 举例:文件在resources.file.demo.txt  则filePath =file/demo.txt即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/35769.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python自动造波器椭圆曲线波孤子解

🎯要点 🎯快速傅立叶变换算法周期域解椭圆曲线波 | 🎯算法数值解孤波脉冲和结果动画 | 🎯三种语言孤子解浅水表面波方程 | 🎯渐近分解算法孤子波 | 🎯自适应步长算法孤子波 | 🎯流体自动造波器…

基于STM32的智能家庭安防系统

目录 引言环境准备智能家庭安防系统基础代码实现:实现智能家庭安防系统 4.1 数据采集模块4.2 数据处理与分析4.3 控制系统实现4.4 用户界面与数据可视化应用场景:家庭安防管理与优化问题解决方案与优化收尾与总结 1. 引言 智能家庭安防系统通过使用ST…

终端基本指令使用不了

当你修改了~/.zshrc文件后发现像ls、vim这样的基本命令无法使用,这通常意味着你的PATH环境变量可能被错误地修改或覆盖了,导致shell无法找到这些命令的可执行文件。以下是几个可能的原因和解决方法: PATH变量被错误修改: 确认你没…

利用flex来布局顶部菜单栏

安装vscode插件 css peek:快速定位到css定义的位置 微软的live preview 替换live server 因为这个好像不支持utf8 前置css知识 span标签是一个行内容器,用于标记文本的一部分,或文档的一部分。它与 div 非常相似,但 div 是块级…

数据结构——带头双向循环链表(c语言实现)

目录 1.单链表和双向链表对比 2.双向链表实现 2.1 创建新节点 2.2 链表初始化 2.3 尾插 2.4 头插 2.5 尾删 2.6 头删 2.7 查找 2.8 指定位置后插入数据 2.9 删除指定节点 2.10 销毁链表 2.11 打印链表 前言: 我们在前几期详细地讲解了不带头单…

vue下载本地xls模版静态文件

需求导入的下载模版不想放在服务器放在前端本地下载静态资源最简单的方式直接访问 public 文件夹下的文件 方法一:使用静态文件路径 将文件放在 public 文件夹中: 把你的文件从 src/assets 移动到 public 文件夹。例如:public/template.xls。…

【高考志愿】电气工程

目录 一、专业概述 二、专业特点 三、就业前景 四、选择学校 高考志愿选择电气工程是一个极具智慧和远见的决定,因为电气工程在当今社会中扮演着至关重要的角色。以下是对电气工程专业更为详细的解析: 一、专业概述 电气工程及其自动化专业&#xf…

一个项目学习Vue3---快速认识JSX

JSX(JavaScript XML)是一种用于在React框架中编写UI组件的语法扩展。它允许开发者将HTML标记直接嵌入到JavaScript代码中,使得在React组件中编写界面变得更加直观和高效。在编译过程中,JSX会被转换成普通的JavaScript对象&#xf…

工业液晶屏G065VN01 V2规格书简介

G065VN01 V2 背面实物图 2. 概述 G065VN01 V2 专为 VGA (640 x RGB x 480) 分辨率和 16.2M(RGB 6 位 FRC)或 262k 色(RGB 6 位)的工业显示应用而设计。它由TFT-LCD面板、驱动IC、控制和电源电路板以及包括…

css3实现水纹进度条

其实有一个mask-image属性 挺有意思,在元素上面实现遮罩层的效果,不过这玩意有些兼容性问题 需要处理,所以单纯可以通过渐变色的方式来实现 同时加上动画效果 .jianbian {width: 100%;height: 16px;background-color: #eee;display: flex;bor…

华三中小企业组网

一、组网需求 在中小园区中,S5130系列或S5130S系列以太网交换机通常部署在网络的接入层,S5560X系列或 S6520X系列以太网交换机通常部署在网络的核心,出口路由器一般选用MSR系列路由器。 核心交换机配置VRRP保证网络可靠性。园区网中不同的…

MySQL进阶——锁

目录 1全局锁—一致性数据备份 1.1全局锁介绍 1.2语法 1.3 一致性备份案例 1.4 全局锁特点 2表级锁 2.1表锁 2.1.1共享读锁 2.1.2独占写锁 2.2元数据锁 2.3元数据锁 MySQL中的锁,按照锁的粒度分,分为以下三类: (1&…

GitLab配置免密登录之后仍然需要Git登录的解决办法

GitLab配置免密登录之后仍然需要Git登录的解决办法 因为实习工作需要,要在本地拉取gitlab上的代码,设置了密钥之后连接的时候还需要登录的token,摸索之后有了下面的解决办法。 方法一: 根据报错的提示,去网站上设置个人…

动手学自然语言处理:解读大模型背后的核心技术

自从 ChatGPT 横空出世以来,自然语言处理(Natural Language Processing,NLP) 研究领域就出现了一种消极的声音,认为大模型技术导致 NLP “死了”。在某乎上就有一条热门问答,大家热烈地讨论了这个问题。 有…

【STM32】看门狗

1.看门狗简介 看门狗起始就是一个定时器,从功能上说它可以让微控制器在程序发生意外(程序进入死循环或跑飞)的时候,能重新恢复到系统刚上电状态,以保障系统出问题的时候可以重启一次。说的简单一点,看门狗…

用英文介绍孟买:Mumbai India‘s Transforming MEGACITY

Mumbai: India’s Transforming MEGACITY Link: https://www.youtube.com/watch?vtWD_-Rzrn8o Summary First Paragraph: Mumbai, India’s financial and entertainment capital, is undergoing a major transformation. With its contiguous urban population nearing 25…

神经网络实现AND门:逻辑运算的智能化飞跃

神经网络实现AND门:逻辑运算的智能化飞跃 在人工智能的早期探索中,人们就梦想着用机器模拟人脑的逻辑思考能力。AND逻辑函数作为最基本的逻辑运算之一,其在神经网络中的实现,标志着我们向智能化迈出了坚实的一步。本文将详细解释…

web图片怎么导入ps?这个方法给你轻松解决!

随着WebP格式图片因其体积小、加载快的优势在网站中日益普及,对于图片编辑者来说,能够直接在Photoshop中打开和编辑WebP文件变得尤为重要。 WebPShop插件应运而生,它是一个专为Photoshop设计的模块,支持打开和保存WebP图像&#…

ATFX汇市:澳大利亚5月CPI大增0.4百分点,降息预期显著降温

ATFX汇市:据澳大利亚统计局数据,澳大利亚5月加权CPI年率为4%,高于前值3.6%,高于预期3.8%,显示出澳大利亚通胀率颇具韧性。5月份数据公布之前,月度CPI年率平均波幅不足0.1个百分点,呈现出横盘震荡…

《数字图像处理》实验报告六

一、实验任务与要求 比较采用不同的色彩空间对彩色图像处理的效果,处理包括: a)直方图均衡化 b)图像增强 二、实验报告 (一)RGB色彩空间的直方图均衡化 / 锐化处理 1、matlab 实现代码: %…