springboot读取jar包资源文件文件
先修改pom.xml文件.使打包后的jar包含你的资源文件
在pom.xml
文件下的build选项中的src/main/resources
的目录下 添加配置
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
<include>**/*.css</include>
<include>**/*.js</include>
<include>**/*.html</include>
<include>template/*.xlsx</include>
</includes>
<filtering>false</filtering></resource></resources></build>
2:读取资源文件到硬盘,然后使用
@javax.annotation.Resource
private ResourceLoader resourceLoader;
String rootPath = "/home";
String configFilePath = rootPath + "/template/template.xlsx";
File configFile = new File(configFilePath);
if (!configFile.exists()) {
log.info("模板文件({})不存在,开始从resources里复制." + configFilePath);
copyResourceFile("classpath:/template/template.xlsx", configFilePath);
}
public void copyResourceFile(String source, String target) throws IOException {
Resource resource = resourceLoader.getResource("classpath:" + source);
InputStream input = resource.getInputStream();
File targetFile = new File(target);
FileUtils.copyInputStreamToFile(input, targetFile);
}