黑豹程序员-读properties属性文件本地正常,打包jar后运行出错

读properties属性文件本地正常,打包jar后运行出错

bash 复制代码
java.io.FileNotFoundException:file:\D:\code\xml-load\target\XX.jar!\XXX(文件名、目录名或卷标语法不正确。)

原因是读取方式不正确

当使用Spring Boot将应用打成jar时,需要读取resources目录下配置文件时,通常使用ClassLoader直接读取,通常建议使用这种方式,

按本地文件读取方式读取

bash 复制代码
	private File loadXml () {
        return new File(this.getClass().getResource("/system-menu.xml").getPath());
    }

按jar包资源读取

bash 复制代码
    private InputStream loadXml() {
        return this.getClass().getResourceAsStream("/system-menu.xml");
    }

我们部署时,先把项目打成jar,这样第一种方式运行时就会无法读取目录下文件而报错,改成第二种方式即可。

相关推荐
曾几何时`几秒前
字符串(七)409. 构造出来的最长回文串
java·前端·javascript
SadSunset13 分钟前
(9)基于xml的自动装配
java·笔记·spring
董世昌4117 分钟前
JavaScript 变量声明终极指南:var/let/const 深度解析(2025 版)
java·服务器·前端
sheji341619 分钟前
【开题答辩全过程】以 个人网站的设计与实现为例,包含答辩的问题和答案
java·eclipse
LFly_ice21 分钟前
Nest-管道
android·java·数据库
剽悍一小兔22 分钟前
为什么使用postman发送请求时不会有跨域问题?
java
Cherry的跨界思维23 分钟前
19、自动化处理双核心:Java规则引擎与Python Selenium实战全解析
java·开发语言·python·自动化·办公自动化·python办公自动化·python办公
hunter1990101 小时前
Spring线程池ThreadPoolTaskExecutor配置与实践
java·后端·spring
皇族崛起1 小时前
【docker安装部署】- 一个可用的Docker 镜像配置 和 DNS配置
java·docker·容器
互亿无线明明1 小时前
国际短信通知服务:如何为全球业务构建稳定的跨国消息触达体系?
java·c语言·python·php·objective-c·ruby·composer