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

相关推荐
lemon_sjdk4 分钟前
ObservableNumberValue接口
java·javafx
wxwx_bscxy3229 分钟前
springboot巡更系统10192
java·spring boot·后端·巡更系统
竞赛考级题库14 分钟前
202606 青少年等级考试C/C++真题一级 建议答题时长:60min
java·c语言·c++
大树9115 分钟前
把 Java 项目从手动 SCP 升级到 Gitee Go 自动部署:一份踩坑实录
java·golang·gitee
用户4671795783627 分钟前
【Java全栈教程】第18课:异常处理
java
她说..29 分钟前
MySQL 与 Java 的 JSON 数据处理
java·mysql·json·springboot
咖啡八杯35 分钟前
实体基类设计:BaseEntity 公共字段抽取与 TreeEntity 树形继承
java·架构·代码规范
她的男孩39 分钟前
AI 写完 100 万行代码没人 Review,我做了一件事:把 AI 写的代码管起来了
java·人工智能·程序员
Gl�ria40 分钟前
Linux 查看日志常用命令
java·linux·servlet
大模型丫丫1 小时前
LangGraph + MCP(Model Context Protocol)完整讲解
java·开发语言·数据库