springboot jar启动 读取jar包中相对路径文件报错

Posted 你坚持了吗

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot jar启动 读取jar包中相对路径文件报错相关的知识,希望对你有一定的参考价值。

jar包启动后读取相对路径文件报异常:
Caused by: java.io.FileNotFoundException: class path resource [***.***] cannot be resolved to absolute 
.***.jar/BOOT-INF/classes!/***.**

采用流的方式读取即可解决

// /template/template.html是resource下面的文件
String template=readfile("/template/template.html");
//file 相对路径
 public  String readfile(String file){
        InputStream stream = this.getClass().getResourceAsStream(file);
        StringBuffer sb = new StringBuffer() ;
        BufferedReader br = null ;
        try {
            br = new BufferedReader(new InputStreamReader(stream,"UTF-8")) ;
            String s=null ;
            while((s=br.readLine()) !=null){
                sb.append(s) ;
            }
            br.close();
        } catch (FileNotFoundException e) {
            log.error("FileNotFoundException:"+e);
        } catch (IOException e) {
            log.error("IOException :"+e);
        }finally {
            if(br !=null){
                try {
                    br.close();
                } catch (IOException e) {
                    log.error("close br error:"+e);
                }
            }
        }
        return sb.toString();
    }

 

以上是关于springboot jar启动 读取jar包中相对路径文件报错的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot-读取classpath下文件

springboot中SPI机制

jar方式运行项目-读取jar包中的文件

jar包启动配置文件application.property存放位置

springboot 获取jar包中定义的bean

直接替换Springboot jar包中的文件