欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

springboot打jar包启动后,读取jar包中文件采坑

程序员文章站 2022-03-02 21:00:07
...

问题记录:
做excel文件导出时,逻辑如下:
1、读取模板配置文件
2、根据模板文件生成新的excel
在做第一步时,本地和服务器上的读取是不一样的,服务器上是jar包启动,本地是开发工具IDEA的main启动,代码如下:
具体可参考【com.xxx.CiticStatisticBiz#exportStatisticBorrowResult】

1、非jar包启动读取模板文件(从绝对路径读取Excel模板)

File path = new File(ResourceUtils.getURL("classpath:").getPath());
logger.info("classpath绝对路径:{}", path.getAbsolutePath());
String excelTemPath = path.getAbsolutePath() + File.separator + "excel" + File.separator;
logger.info("excel模板绝对路径:{}", excelTemPath + excelTemplate);

File file = new File(excelTemPath + excelTemplate);
File newFileDir = new File(exportFilePath);
FileUtils.copyFileToDirectory(file, newFileDir);

2、jar包启动读取模板文件(从相对路径读取Excel模板)

//方法一
InputStream in1 = getClass().getClassLoader().getResourceAsStream(sourcePath);
logger.info("文件流是否为null:{}", null == in1);

//方法二(最终使用)
ClassPathResource resource = new ClassPathResource(sourcePath);
InputStream in = resource.getInputStream();
相关标签: 项目相关