问题:
由于使用spring boot + maven 管理项目,所以会把项目打成jar包来进行运行。在不打成jar的情况下,正常情况一般都是读取绝对路径来进行获取配置文件路径。
File file = ResourceUtils.getFile("classpath:WEB-INF/templet/picking_off.xlsx");
以上方法来获取。但是当项目打包成jar 包时,通过路径获取会出现file:/D:/xxx/xxx.jar!/BOOT-INF/classes!/xx.xx 的错误。
解决办法:
当项目打成jar包时,还需要读取配置文件。需要通过流的形式来进行读取。方法如下
//注意路径开头有"/"
String templatePath = "/WEB-INF/templet/picking_off.xlsx";
InputStream inputStream = XXXX.class.getResourceAsStream(templatePath);
这样就避免了路径的错误问题。
以上就是读取jar包中的配置文件问题解决办法。