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

相关推荐
Kim Jackson几秒前
我的世界Java版1.21.4的Fabric模组开发教程(二十二)创建生物(上)实体外观与动画设计
java·开发语言·fabric
逆境不可逃10 分钟前
【从零入门23种设计模式21】行为型之空对象模式
java·开发语言·数据库·算法·设计模式·职场和发展
斯幽柏雷科技11 分钟前
[Unity]Inspector各种写法(持续更新中)
java·unity·游戏引擎
盐水冰22 分钟前
【烘焙坊项目】后端搭建(6)- 店铺状态设置
java·redis
健康平安的活着25 分钟前
java中乐观锁+事务在批量导入,批量审批案例的使用
java·开发语言
夏语灬25 分钟前
SpringBoot集成MQTT客户端
java·spring boot·后端
Memory_荒年28 分钟前
Spring Boot自动装配:告别“配置地狱”的智能管家
java·后端·spring
盐水冰42 分钟前
【烘焙坊项目】后端搭建(9)- 缓存实现及购物车相关功能开发
java·后端·spring
gameboy03142 分钟前
在Nginx上配置并开启WebDAV服务的完整指南
java·运维·nginx
重庆小透明44 分钟前
【面试问题第一篇】快手后端java一面
java·面试·职场和发展