有时候我们会将一些模板文件,简单的放在resource目录下进行管理。达成jar包之后读取文件存在问题,简单记录一下处理方式:
打成jar包后基本会遇到两个问题如下:
- 获取不到resources下的文件。
- 获取到resources下的文件,但是乱码了。
//打成jar包后获取文件的方法 ClassPathResource classPathResource = new ClassPathResource("template/mb.doc"); InputStream inputStream = classPathResource.getInputStream();
以上
template/mb.doc
这个路径是从resources
目录下开始的。这个在打完包之后仍然可以获取到文件流。打成jar包后文件乱码问题
springboot
项目都是maven项目,打成jar包后编译后的文件乱码,是说明maven打包的时候出了问题,这个是缺少了一个插件。如下:<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <configuration> <nonFilteredFileExtensions> <nonFilteredFileExtension>sql</nonFilteredFileExtension> <nonFilteredFileExtension>xlsx</nonFilteredFileExtension> <nonFilteredFileExtension>xls</nonFilteredFileExtension> <nonFilteredFileExtension>doc</nonFilteredFileExtension> <nonFilteredFileExtension>docx</nonFilteredFileExtension> </nonFilteredFileExtensions> </configuration> </plugin>
注意:nonFilteredFileExtensions
的标签配置,可以配置了不同文件后缀的文件,这个就表示maven打包后会忽略这几个文件,不会对这种格式的文件编译,这样就不会出现乱码问题了