springboot项目找不到resources目录下的资源

问题描述:

将老的mvc项目转为boot后找不到resources文件夹下的资源文件

原因:

war包采用的是tomcat部署,tomcat会对war包进行解压,以及目录的一些操作。而springboot使用jar包部署,服务器中是不存在相关目录的。

环境:

springboot  2.2.2RELAESE

 

主要的API:

ClassPathResource classPathResource = new ClassPathResource(filePath);

 InputStream inputStream = classPathResource.getInputStream();

工具类

import java.io.File;
import java.io.InputStream;

import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
import org.springframework.core.io.ClassPathResource;


public class FileUtil {

    public File getResourceFile(String filePath) throws Exception{

        try {
            ClassPathResource classPathResource = new ClassPathResource(filePath);

            InputStream inputStream = classPathResource.getInputStream();
            //生成目标文件
            File somethingFile = File.createTempFile("DailyReportTemplate", ".xls");
            try {
                FileUtils.copyInputStreamToFile(inputStream, somethingFile);
            } finally {
                IOUtils.closeQuietly(inputStream);
            }

            return somethingFile;
        } catch (Exception e) {
            throw new Exception(e);
        }
    }

}

 

你可能感兴趣的:(工具)