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

相关推荐
MacroZheng1 分钟前
阿里又开源了一个神级 Skill 项目!
java·人工智能·后端
修罗-zero31 分钟前
UI自动化开发(selenium):模拟人操作浏览器
java·selenium自动化
ruleslol32 分钟前
Function Calling 讲解
java·ai
小小猪的春天33 分钟前
MCP 半小时跑通和敢上生产之间,隔着这 5 个坑
java·ai编程
步行cgn1 小时前
Spring 注入 Properties 详解
java·python·spring
星空1 小时前
Map<String, String>`Map`是接口,不能直接 new
java·前端·算法
liangbo71 小时前
12-JVM 调优方法论与参数速查
java·jvm
干到60岁退休的码农1 小时前
16.过滤器中处理异常响应返回
java·spring boot·mybatis
Java_2017_csdn1 小时前
StringUtils.hasText() 和 StringUtils.isNotBlank() 方法对比
java
Joy T1 小时前
Spring AI 2.0 进阶入门:RAG、Structured Output 与 Agent 信息闭环
java·人工智能·spring·rag·springai·agent入门