缘起

项目中编辑器的图标出现问题,显示不出来了。究其原因是因为:这些图标其实是字体图标,在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>