解决SpringBoot 打包启动项目后,静态资源文件不可用

问题描述

今天在启动项目时,发现网页的图标都加载不出来,打开控制台,发现告警信息是文件解码错误,错误信息:

  1. Failed to decode downloaded font: http://localhost:8080/plugins/fontawesome-free/webfonts/fa-solid-900.woff2
  2. OTS parsing error: Failed to convert WOFF 2.0 font to SFNT
  3. OTS parsing error: incorrect file size in WOFF header
  4. OTS parsing error: incorrect entrySelector for table directory

如下图:
解决SpringBoot 打包启动项目后,静态资源文件不可用_第1张图片
解决SpringBoot 打包启动项目后,静态资源文件不可用_第2张图片

原因分析

maven打包时:会编译项目文件,如果存在不需要编译的文件需要在配置里面排除。因为有些资源文件被编译后会与原文件不同,导致文件不可用。

问题解决

添加 maven 资源文件管理插件 maven-resources-plugin,指定不过滤的文件扩展名。

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-maven-pluginartifactId>
        plugin>
        
        
        <plugin>
            <groupId>org.apache.maven.pluginsgroupId>
            <artifactId>maven-resources-pluginartifactId>
            <configuration>
                <nonFilteredFileExtensions>
                    <nonFilteredFileExtension>ttfnonFilteredFileExtension>
                    <nonFilteredFileExtension>woffnonFilteredFileExtension>
                    <nonFilteredFileExtension>woff2nonFilteredFileExtension>
                nonFilteredFileExtensions>
            configuration>
        plugin>
    plugins>
build>

解决SpringBoot 打包启动项目后,静态资源文件不可用_第3张图片
图标正常加载出来了,控制台也没有告警错误信息。

你可能感兴趣的:(Maven,SpringBoot,maven,静态资源加载)