admin管理员组

文章数量:1613752

问题简述

前几天的云计算大作业后端部分使用 SpringBoot 搭建,需要读取 resources 目录下的 .json 文件。结果在本机上跑得好好的程序,在打成 jar 包上传到服务器运行后却报了 找不到文件 的错误。

本机环境:Windows 10

服务器环境:CentOS 7

问题分析

首先,让我们来看一看常用的读取 resources 目录下文件的方法

1. 寻常读取文件方法

× 只能够在 IDE 中运行,打成 jar 包后运行就会报错

File file = new File("src/main/resources/static/graphx.json");

2. ResourceUtil

× 在 Linux 系统中无法使用

File file = ResourceUtils.getFile("classpath:static/graphx.json");

3. ClassPathResource

√ 通用方法,在 Linux 和 Windows 中都可以正常读取

InputStream is = new ClassPathResource("\\static\\graphx.json").getInputStream();

问题探究

参考了其他博客后,得到以下结论:

1. SpringBoot 被打成 jar 包后࿰

本文标签: 不兼容方式环境文件SpringBoot