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

相关推荐
一个诺诺前行的后端程序员5 分钟前
rag+springai
java·eclipse
Hexian25806 分钟前
SpringAI+RAG
java·spring·ai
冰小忆19 分钟前
类变量在继承场景下的初始化规则是怎样的?
java·前端·数据库
AI人工智能+电脑小能手29 分钟前
【大白话说Java面试题 第71题】【Mysql篇】第1题:索引是什么?
java·开发语言·b树·mysql·面试
AC赳赳老秦36 分钟前
OpenClaw碎片时间利用:设置轻量化自动化任务,高效利用职场碎片时间
java·大数据·运维·服务器·数据库·自动化·openclaw
钮钴禄·爱因斯晨1 小时前
秋天的第一个项目,飞算JavaAI一小时拿下~
java·人工智能
九皇叔叔1 小时前
VMware 安装 麒麟操作系统
java·开发语言·虚拟机·麒麟操作系统·vmware安装
yuhuofei20211 小时前
【Python入门】Python中字符串相关拓展
android·java·python
oneouto1 小时前
锁与try catch的位置引发的思考
java
Circ.1 小时前
SpringBoot 实现文件上传与下载(完整源码 + 详细教程)
java·spring boot·后端