springboot打成jar后获取resources下文件失败, cannot be resolved to absolute file path because it does not resid

article/2025/8/15 4:17:54

读取resources下的文件quotaShow.jasper

本地开发环境能正常下载:

ClassPathResource resource = new ClassPathResource("jasper" + File.separator + "quotaShow.jasper");
reportFile = resource.getFile();

 打jar包发布至linux服务器时报错:

class path resource [xxxx] cannot be resolved to absolute file path because it does not reside in the file system: jar:file:xxxx.jar!/BOOT-INF/classes!xxxx

 解决方法:

ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
Resource[] resources = resolver.getResources("jasper"+File.separator+"quotaShow.jasper");
Resource resource = resources[0];
InputStream is = resource.getInputStream();
String filePath= this.getClass().getClassLoader().getResource("jasper"+File.separator+"quotaShow.jasper").getFile();
File reportFile = new File(filePath);FileUtils.copyInputStreamToFile(is,reportFile);

拿到file后,后面走正常的下载流程。


http://chatgpt.dhexx.cn/article/ULYFtqkd.shtml

相关文章

Resid作为缓存可能遇到的问题

1.缓存的执行流程 前台请求,后台先从缓存中取数据,取到直接返回结果,取不到时从数据库中取,数据库取到更新缓存,并返回结果,数据库也没取到,那直接返回空结果。 [外链图片转存失败,源站可能有…

动态修改android中的资源索引resId

目录 一、引言 1、为什么要动态修改资源索引 2、怎么修改资源索引 3、什么时候修改 二、处理Task及R文件 1、处理Task 2、修改R文件 三、处理编译后的二进制文件 1、编译后的文件在哪? 2、解压、压缩AP_文件 3、修改resources.arsc文件的pkgId 4、修改Xm…

Redis安装(Windows环境)

文章目录 一、Resid简介:二、下载Redis三、启动Redis服务四、设置Windows服务五、常用的Redis服务命令六、cmd启动服务:七、操作测试Redis 一、Resid简介: Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分…

Resid总结

Redis是什么? Redis:REmote DIctionary Server(远程字典服务器) 是完全开源免费的,用C语言编写的,遵守BSD协议,是一个高性能的(key/value)分布式内存数据库,基于内存运行并支持持久化的NoSQL数…

Redis系列(一):各大厂都在用的Resid到底是什么?

一、redis是什么? 1.Redis的定义 先上一段官方定义:Redis 是开源免费(遵守BSD协议)、高性能的key-value数据库。 是不是觉得上面的一句话既熟悉又陌生,作者怎么想的为啥开源免费?BSD协议又是什么&#x…

opencv 实现图像高斯金字塔

函数: dst cv.pyrDown( src[, dst[, dstsize[, borderType]]] ) # 高斯金字塔下采样 参数: src 源图像. dst 输出图像;它有着指定的大小,和源图像有着相同的类型. dstsize 输出图像的大小. borderType 像素外延方法. 默认情况下&…

图像增强中的高斯金字塔/拉普拉斯金字塔 融合

1.高斯金字塔 注意区分:高斯金字塔层级越高,分辨率越低。但下层(第i层)得到上层(第i1层)的过程叫做下采样,有些地方用reduce描述这个过程。 图像的金字塔化过程实际上是先平滑、再下采样的过程…

python --opencv图像处理金字塔(高斯金字塔、拉普拉斯金字塔)

引言 前面的文章中,我们有用过图像方法或者缩小的函数 resize() ,这个函数既可以放大图像,也可以缩小图像,其中: 缩小图像:一版使用 CV_INETR_AREA (区域插值)来插值。放大图像&am…

高斯金字塔及拉普拉斯金字塔的Matlab实现

1、高斯金字塔计算步骤 (1)对第 i i i 层图像进行高斯内核卷积; (2)将所有偶数行和列去除(下采样),得到第 i 1 i1 i1 层图像; (3)对原始图像不…

【C++】高斯金字塔和拉普拉斯金字塔原理和实现

【C】高斯金字塔和拉普拉斯金字塔原理和实现 图像中各个像素与其相邻像素之间的有很强的相关性,包含的信息也十分丰富,目标的尺寸有大有小,对比度有强有弱,此时就需要一个“显微镜”或者“望远镜”-----多尺度图像技术。它可以在…

python 高斯金字塔_12、高斯金字塔、拉普拉斯金字塔与图片尺寸缩放(示例代码)...

一、引言 我们经常会将某种尺寸的图像转换为其他尺寸的图像,如果放大或者缩小图片的尺寸,笼统来说的话,可以使用OpenCV为我们提供的如下两种方式: (1)resize函数。这是最直接的方式, (2)pyrUp( )、pyrDown( )函数。即图…

高斯金字塔的构建步骤

转自:https://www.cnblogs.com/starfire86/p/5735061.html SIFT(Scale-Invariant Feature Transform,尺度不变特征转换)在目标识别、图像配准领域具有广泛的应用,下面按照SIFT特征的算法流程对其进行简要介绍对SIFT特征做简要介绍。 高斯金字…

图像处理(九)高斯金字塔及拉普拉斯金字塔

高斯滤波的核就是一个求平均值的卷积核 高斯金字塔也是一个高斯核,只是步长为2,卷积后图片缩小二倍。高斯金字塔的目的是在图像不同大小时可以获得不同的信息,比如说图像较小时可以获得轮廓,图像较大时可以获得细节 使用函数cv2.p…

OpenCV SIFT源码讲解——构建高斯金字塔

目录 一、构建方法 二、函数重要点注释 一、构建方法 高斯金字塔每层图像的尺度为:。理论上金字塔每层图像可以从原图做的高斯滤波得到。但是实际操作中,每组的第一张影像(除第一组)是上一组倒数第三张影像降采样得到&#xff0c…

OpenCV中的图像金字塔(高斯金字塔、拉普拉斯金字塔)

最近在看关于数字图像的知识点,目前在图像金字塔部分,实在是懒得用手作笔记了,就以其中比较出名的“高斯金字塔”和“拉普拉斯金字塔”为例,基于OpenCV的源代码作解析存个档;毕竟属于基础部分,以后有需要就…

python 高斯金字塔_Python OpenCV 之图像金字塔,高斯金字塔与拉普拉斯金字塔

Python OpenCV 365 天学习计划,与橡皮擦一起进入图像领域吧。 基础知识铺垫 学习图像金字塔,发现网上的资料比较多,检索起来比较轻松。 图像金字塔是一张图像多尺度的表达,或者可以理解成一张图像不同分辨率展示。 金字塔越底层的…

图像金字塔和高斯金字塔

一:图像金字塔 图像金字塔是图像中多尺度表达的一种,最主要用于图像的分割,是一种以多分辨率来解释图像的有效但概念简单的结构。图像金字塔实际上是一张图片在不同尺度下的集合,即原图的上采样和下采样集合。金字塔的底部是高分辨…

opencv学习-高斯金字塔和拉普拉斯金字塔

图像金字塔 一个图像金字塔是由一系列的图像组成,最底下一张是图像尺寸最大,最上方的图像尺寸最小,从空间上从上向下看就像一个古代的金字塔。金字塔的底部是待处理图像的高分辨率表示,而顶部是低分辨率的近似。我们将一层一层的…

高斯金字塔与拉普拉斯金字塔的原理与python构建

转载自:https://zhuanlan.zhihu.com/p/94014493 高斯金字塔和拉普拉斯金字塔【1】在图像相关领域应用广泛,尤其是图像融合和图像分割方面。本文从理论和opencv实现两个方面对两种金字塔进行了介绍,并给出了二者的视觉效果。 1、高斯金字塔 在计算机视觉…

图像金字塔、高斯金字塔、拉普拉斯金字塔是怎么回事?附利用拉普拉斯金字塔和高斯金字塔重构原图的Python-OpenCV代码

图像金字塔是对图像进行多分辨率表示的一种有效且简单的结构。 一个图像金字塔是一系列以金字塔形状排列的分辨率逐步降低的图像。图像金字塔的底部是待处理图像的高分辨率表示,而顶部是低分辨率表示。 图像金字塔有什么作用? 图像金字塔常用于图像缩放…