打包成war包之后如何读取配置文件

Posted niaobulashi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了打包成war包之后如何读取配置文件相关的知识,希望对你有一定的参考价值。

今天工作开发中遇到一个问题:在idea运行的项目读取配置文件没有问题,打包成war包之后就会报错java.io.FileNotFoundException: class path resource

原因:

打包成war包后,配置文件在war包中,不是一个独立的文件了,无法通过File的方式访问

String filePath = "classpath:template_xml/readexcel/test.xml";
File file = ResourceUtils.getFile(filePath);
InputStream fis = new FileInputStream(file);

解决方案

通过文件流的形式读取文件

String filePath = "template_xml/readexcel/test.xml";
InputStream fis = this.getClass().getResourceAsStream(filePath);

总结

开发过程中遇到读取文件的,尽量用文件流的形式读取文件,可避免在不同环境下可以正确读取

以上是关于打包成war包之后如何读取配置文件的主要内容,如果未能解决你的问题,请参考以下文章

maven把java项目打包,如何把配置文件提出来

将java web项目打包war文件然后发布到Tomcat,

java web项目打包如何打包,除了Eclipse工具内的手动打war包

maven打war包的时候如何设置不把web-inf下 lib文件夹的jar打包进去

Spring Boot项目打包成war包

怎么将web工程打包war和解包war