一、问题
maven项目编译打包后,发现部分文件无法正常使用,如下:

二、原因分析
maven打包项目的时候会自动对项目进行统一编码,但是一些文件可能不需要此操作,由没有特殊处理,就会出现上面这种情况。例如: 证书文件、excel文件等,重新编码后导致这些文件不可用(猜测为无访问权限)。
三、解决方案
显式配置maven-resources-plugin插件,通过nonFilteredFileExtensions设置resources目录下不需要重新编码的文件后缀。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<configuration>
<encoding>UTF-8</encoding>
<!-- 特殊处理:过滤resources目录下的xlsx和xls文件,使其不被重新编码 -->
<nonFilteredFileExtensions>
<nonFilteredFileExtension>xlsx</nonFilteredFileExtension>
<nonFilteredFileExtension>xls</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>

本文针对Maven项目在编译打包后,部分如证书、Excel等文件无法正常使用的问题进行分析,原因是Maven的自动编码处理。提供了解决方案,即通过配置maven-resources-plugin插件,明确指定不受编码处理的文件后缀。
5931

被折叠的 条评论
为什么被折叠?



