首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

解决SpringBoot jar文件读取问题

前言 SpringBoot微服务已成为业界主流,从开发到部署都非常省时省力,但是最近小明开发时遇到一个问题:在代码读取资源文件(比如word文档、导出模版等),本地开发时可以正常读取 ,但是,当我们打成...jar发布到服务器后,再次执行程序时就会抛出找不到文件异常。...大概说一下docx导出java实现思路:导出word文档格式为docx,事先准备好一个排好版docx文档作为模版,读取解析该模版,将其中静态资源替换再导出。...通过仔细观察堆栈信息,我发现此时文件路径并不是一个合法URL(文件资源定位符)。原来jar中资源有其专门URL形式:jar:!/{entry} )。...解决 虽然我们不能用常规操作文件方法来读取jar资源文件docxTemplate.docx,但可以通过Class类getResourceAsStream()方法,即通过流方式来获取 :

2.7K21
您找到你想要的搜索结果了吗?
是的
没有找到

为什么SpringBoot jar文件读取不到?

1 猿与故事 今天故事发生在程序猿菜菜身上。 凡是对接过三方都知道,代码难免要加载很多三方分配证书等相关配置文件。...菜菜轻声嘀咕:「在本地 IDEA 程序跑着没问题,能够成功读取资源文件,单元测试都跑过了,为啥部署到测试环境就不好使了呢?」 菜菜边嘀咕边开启了 Debug 模式。...首先,发现 NewB.class.getResource("/cool").getPath() 输出路径貌似跟想象不一样。...问题很清晰了,通过上面这种方式获取 SpringBoot 打好 jar 资源文件不太可行,需要换方案。...3 菜菜侃大山 1、如何获取 SpringBoot jar 指定文件夹下资源文件子目录?

1.2K20

IDEA 无法识别 Nodejs 关键字

问题描述 由于我是一个 IDEA 偏执狂(即任何能在 IDEA 开发功能绝不使用另外一个编辑器),所以本来适合在 VSC 上面开发 nodejs,我也通过下载 node 插件使用了 IDEA 开发...但是现在遇到一个问题,就是 IDEA 忽然无法识别我引入包了,之前和 core 库还有其他都可以,最近由于业务需求,我多加了一个ejs就不行了。.../module/routes.js'); const url = require('url'); const ejs = require('ejs'); 如图,以上是我引入,ejs'方法完全没有提示...解决方案 打开设置,然后打开如图所示位置: ? 点击右边 download 之后选择你需要,然后安装即可。 ? 安装速度很快,完了之后点击确定即可。...最后强推一下 IDEA 这款 IDE,真的是太强大了,各种插件非常齐全,几乎可以开发所有语言,因为安装响应插件即可,这点和 VSC 很像,如果你运存有16G即以上,非常建议使用 IDEA 代替 VSC

2.4K10

NodeJS 导入时候出现 @types 错误导致程序无法运行

在一次开发 NodeJS 项目的时候,我们希望导入是用 import 导入方式。 但是在具体导入时候发现是使用 @types 导入。...如果上面的图显示导入方式,结果结果是导致程序错误无法运行。 问题和原因 尽管我们在配置文件添加了需要导入版本。...@types 经过一些研究,有时候 @types 这个使用是因为在 JS 世界中有很多不是通过 TypeScript 进行开发,使用是普通 JS 。...这个时候,我们需要找到这个导入依赖了。 在导入这个所在项目的文件夹,打开 package.json 这个文件。 在这个文件也没有找到这个依赖,也不是使用types 定义。...但是实际使用时候,我们程序使用是另外一种导入方式。 因此,针对这个问题,我们最简单办法就是将 /@types/request-promise 从你依赖删除。

1.6K20

错误记录】exe4j 打包程序无法设置 jar 依赖问题 ( 将源码 和 依赖库打包到同一个 jar )

一、问题描述 在 【错误记录】IntelliJ IDEA 导出可执行 jar 执行报错 ( java.lang.ClassNotFoundException | 打包时没有选择依赖库 ) 博客遇到...将 Jar 与 Java 虚拟机打包在一起 , 捆绑成一个可执行 exe 程序 ; 但是 exe4j 打包时 , 无法设置 jar 依赖库 , 只能设置一个 jar ; 研究了下 exe4j...文档 , 得到以下结论 : exe4j 打包程序无法设置 jar 依赖 , 只能设置一个 jni 相关 native .a 静态库 和 .so 动态库 依赖目录 ; exe4j 也不能设置...IntelliJ IDEA 打包出来是一个 jar + 若干 jar 依赖库 , 无法设置到 exe4j ; 在 exe4j 执行时 , 会报错 , 无法找到依赖 , 自然也不能找到相关类...目录下签名文件 ; 在 【错误记录】IntelliJ IDEA 打包包含依赖库 Jar 执行报错 ( Invalid signature file digest for Manifest

39520

javajar类访问jar内部资源文件路径和获得读取资源文件内容问题

在大数据开发和java web开发,我们有时会在程序读取一些资源文件内容。...当我们在本地运行调试时候是没有任何问题,但是当我们将程序打成jar包上传到集群后运行时,发现报错:“找不到配置文件路径”。虽然jar确实存在配置文件,但是还是读取不到。...相关解决方法可以参考以下相关资料:  javajar类访问jar内部资源文件路径问题: http://blog.csdn.net/mm_bit/article/details/50372229...获取jar内部资源文件: http://blog.csdn.net/luo_jia_wen/article/details/50057191 【解惑】深入jar:从jar读取资源文件: http...://www.iteye.com/topic/483115  jar读取资源配置文件,jar内包外,以及读取目录方法: http://blog.csdn.net/T1DMzks/article/

9.2K20

maven:java8下当javadoc有编译错误无法生成.jar问题

但最近将编译器换成java 8后,同样命令执行,遇到javadoc编译错误,maven就中止执行,生成jar失败了。...新特性造成: java 8javadoc提供了一个新特性,允许程序能检测到java 代码注释错误(之前版本,javadoc调用方无法检测到代码注释错误),默认情况下这个特性是打开,所以...-- 禁用java 8 DocLint新特性,以确保当javadoc有编译错误时,也能正常生成javadoc jar--> none </configuration...删除前面在build/plugins添加javadoc插件,改为在pom.xml添加profiles,如下: .......-- 禁用java 8 DocLint新特性,以确保当javadoc有编译错误时,也能正常生成javadoc jar--> -Xdoclint:none

1.5K11

错误记录】Ubuntu 安装软件报错 ( 下列软件有未满足依赖关系:E: 无法修正错误,因为您要求某些软件保持现状,就是它们破坏了软件包间依赖关系。 )

文章目录 一、报错信息 二、解决方案 一、报错信息 ---- 执行 sudo apt-get install git 命令 , 安装 git 软件 , 报如下错误 : root@octopus:~/ijkplayer...# root@octopus:~/ijkplayer# sudo apt-get install git 正在读取软件列表......完成 正在分析软件依赖关系树 正在读取状态信息... 完成 有一些软件无法被安装。...如果您用是 unstable 发行版,这也许是 因为系统无法达到您要求状态造成。该版本可能会有一些您需要软件 尚未被创建或是它们已被从新到(Incoming)目录移出。...下列信息可能会对解决问题有所帮助: 下列软件有未满足依赖关系: git : 依赖: liberror-perl 但无法安装它 E: 无法修正错误,因为您要求某些软件保持现状,就是它们破坏了软件包间依赖关系

5.4K20

错误记录】Groovy 闭使用报错 ( 闭不能直接使用外部对象方法 | 需要先设置 delegate 代理 )

文章目录 一、报错信息 二、解决方案 一、报错信息 ---- 在 Groovy Closure 闭 , 直接调用外部对象方法 , 会报错 ; class Test { def fun...Groovy.groovy) at Groovy.run(Groovy.groovy:14) Process finished with exit code 1 二、解决方案 ---- 在 Closure 闭..., 如果要调用外部对象方法 , 需要先设置 Closure 闭对象 delegate 成员为指定外部对象 ; class Test { def fun() { println..."fun" } } // 闭不能直接调用 Test 对象方法 // 此时可以通过改变闭代理进行调用 def closure = { fun() } closure.delegate...= new Test() closure() 设置完 Closure 闭对象 delegate 之后 , 执行效果 :

85720

【Android 安装优化】WebP 图片格式兼容与性能 ( Android WebP 图片格式兼容问题 | Android WebP 图片格式性能 )

文章目录 一、Android WebP 图片格式兼容问题 二、Android WebP 图片格式性能 三、参考资料 一、Android WebP 图片格式兼容问题 ---- 在 Android... , 有对 WebP 格式图片兼容情况说明 , Android 4.0 以下不支持 WebP 图片格式 ; ( 不能使用 ) Android 4.0 以上支持 不带透明度 并且是 无损压缩...提供了工具 , 可以兼容 Android 4.0 以上系统 , 在所有版本中使用 WebP 图片 ; 二、Android WebP 图片格式性能 ---- 图片大小参数 : 在 Android...平台中 , 使用 WebP 格式图片 , 能极大压缩图片大小 , 可以压缩安装大小 ; 编解码速度参数 : 在应用运行时 , 还有一个重要指标 , 就是 WebP 格式图片编码和解码速度 ;...编码速度 指的是将 ARGB 图像数据转为 WebP 格式速度 ; 解码速度 指的是将文件 WebP 解码成 ARGB 图像数据速度 ; 图片编解码使用环境 : 解码 : 程序运行显示图片过程

1.3K10

【流媒体开发】VLC Media Player - Android 平台源码编译 与 二次开发详解 (提供详细800M下载好编译源码及eclipse可调试播放器源码下载)

, 64 位操作系统无法编译 VLC 源码(一些编译工具如果不是 32 位会出错); (2) 编译所需软件 编译所需软件 :  -- ant : 将软件编译、测试、部署等步骤联系在一起加以自动化一个工具...; -- protobuf : 全称 protocol buffer, google 一种数据交换格式,它独立于语言,独立于平台; -- ragel : 有限状态机编译器,它将基于正则表达式状态机编译成传统语言...结构详解 VLC Android 源码结构分析 :  -- 主结构截图 : org.vedio.vlc 包下内容; -- audio : 音频相关; -- gui : 界面 UI...相关; -- interfaces : 定义各种接口; -- widget : 自定义组件相关; -- utils : 相关工具类; 2....View 组件; -- SlidingPaneLayout 介绍 : 继承 ViewGroup, 这个类是从 Android 剥离出来, 属于 support-v4 一个类, 如果想要上下滑动,

4.3K40
领券