黑豹程序员-读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 分钟前
【2025年终总结】对象有了,工作没了
java·后端·年终总结
zzxxlty2 分钟前
kafka C++ 和 java端计算分区ID不一致排查
java·c++·kafka
沛沛老爹8 分钟前
Web转AI决策篇 Agent Skills vs MCP:选型决策矩阵与评估标准
java·前端·人工智能·架构·rag·web转型
LuckyLay11 分钟前
Ubuntu配置多版本Java,自由切换
java·linux·ubuntu
m0_7482489413 分钟前
C++ 数据类型
java·jvm·c++
进阶小白猿14 分钟前
Java技术八股学习Day18
java·开发语言·学习
lpfasd12315 分钟前
Spring Boot + WebFlux 全面使用指南
java·spring boot·后端
Halo_tjn16 分钟前
基于Java的相关知识点
java·开发语言·windows·python·算法
Cosolar18 分钟前
Java 后端访问 https接口报 SSLHandshakeException 你遇到过吗
java·后端·面试
组合缺一18 分钟前
带来 AI Agent 开发,OpenSolon v3.8.3 发布
java·人工智能·ai·langchain·llm·solon