Springboot项目读取Jar包中resource目录下文件

       今天遇到一个坑就是Springboot读取项目中Resource目录下的一个config.properties文件,最开始在eclipse中调试时读取没有任何问题,但用maven打成jar包运行后报错:

java.io.IOException: Stream closed

原代码如下:

new BufferedInputStream(ClassLoader.getSystemResourceAsStream("config.properties"))//本地是可以的,但是打包成jar包之后
InputStream is = this.getClass().getResourceAsStream("/config.properties");//这种方法同理

查阅资料最后改为:

Resource res = new ClassPathResource("/config.properties", this.getClass());
logger.info(res.getURL().toString());
InputStream fis = res.getInputStream();
这里的classPath默认是相对this.getClass的路径.如果需要绝对路径, 就需要加个/, 代表从根开始找.

你可能感兴趣的:(Springboot项目读取Jar包中resource目录下文件)