问题:
今天在开发中遇到一个问题,SpringBoot项目使用Resource加载不同模块下的文件,在本地可以运行,但是放在测试环境下,出现了文件找不到的问题,
解决办法:
使用两个不同的ClassLoader分别去尝试加载文件
InputStream is = null;
// jar 包可跑
ClassPathResource classPathResource = new ClassPathResource(path);
is = classPathResource.getInputStream();
if (is == null) {
// 本机可跑
DefaultResourceLoader resourceLoader = new DefaultResourceLoader();
is = resourceLoader.getResource(path).getInputStream();
}
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(is));
String kmlContent = bufferedReader.lines().collect(Collectors.joining());
换成这种即可正确加载文件,完美
相关资料: