SpringCloud不同服务分模块开发,打成Jar包找不到Resource目录下的文件

问题:

今天在开发中遇到一个问题,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());

换成这种即可正确加载文件,完美

相关资料:

https://www.jianshu.com/p/7d7e5e4e8ae3

你可能感兴趣的:(Java)