黑豹程序员-读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,这样第一种方式运行时就会无法读取目录下文件而报错,改成第二种方式即可。

相关推荐
怒放吧德德17 小时前
Spring Boot 实战:RSA+AES 接口全链路加解密(防篡改 / 防重放)
java·spring boot·后端
郑州光合科技余经理20 小时前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
大大水瓶21 小时前
Tomcat
java·tomcat
dustcell.21 小时前
haproxy七层代理
java·开发语言·前端
游离态指针21 小时前
以为发消息=下单成功?RabbitMQ从0到秒杀实战的完整踩坑笔记
java
BD_Marathon21 小时前
工厂方法模式
android·java·工厂方法模式
玹外之音1 天前
Spring AI MCP 无状态服务器实战:构建AI智能用户管理系统
java·后端
java干货1 天前
Redis 的 ZipList 是什么?它是怎么解决内存碎片问题的?
java
失重外太空啦1 天前
Tomcat
java·服务器·tomcat
屎到临头想搅便1 天前
TOMCAT
java·tomcat