缘起

项目中编辑器的图标出现问题,显示不出来了。究其原因是因为:这些图标其实是字体图标,在springboot项目中,静态文件是存在于resources文件夹中的,使用分环境打包,开启filtering功能后,会破坏有二进制内容的文件。

解决方案

将静态文件排除在过滤之外

<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<excludes>
<exclude>
static/**
</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/resources</directory>
<filtering>false</filtering>
<includes>
<include>static/**</include>
</includes>
</resource>
</resources>

其他可能有效的解决方案

pom文件中增加如下内容,不对字体文件进行过滤即可:

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>ttf</nonFilteredFileExtension>
<nonFilteredFileExtension>woff</nonFilteredFileExtension>
<nonFilteredFileExtension>woff2</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>
</plugins>
</build>