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

相关推荐
码不停蹄的玄黓2 分钟前
SpringBoot 实现自定义注解
java·spring boot·spring
施棠海7 分钟前
自定义并可深度定制的数字滚动选择器完整源代码与相关注意事项
java·开发语言
2601_9611940219 分钟前
2026六级词汇资料电子版|大学英语六级核心词汇PDF
java·spring·eclipse·pdf·tomcat·hibernate
布朗克16822 分钟前
18 面向对象综合实战——设计一个图书管理系统
java·面试·职场和发展·面向对象实战
码不停蹄的玄黓31 分钟前
旁路缓存(Cache-Aside,CA)
java·开发语言
NGINX开源社区32 分钟前
NGINX Ingress Controller 中的 Cache Policy:VirtualServer 实战指南
java·前端·nginx
lld95102737 分钟前
(三)本地策略框架
java·服务器·数据库
SoftLipaRZC38 分钟前
C语言文件:文件操作完全指南
android·java·c语言
零陵上将军_xdr39 分钟前
API 签名防重放机制:基于 HMAC-SHA256 的设计与实现
java·学习·安全架构
ch.ju41 分钟前
Java程序设计(第3版)第四章——set-get方法
java·开发语言