Spring Boot - Font Awesome OTS parsing error: не удалось преобразовать



Проблема со шрифтами, не работающими корректно в приложении Spring Boot / Spring MVC.



Проблема в том, что все файлы шрифтов показывают различные ошибки, такие как ниже



Failed to decode downloaded font: http://localhost:8080/fonts/fontawesome-webfont.woff2?v=4.4.0
OTS parsing error: Failed to convert WOFF 2.0 font to SFNT

Failed to decode downloaded font: http://localhost:8080/fonts/fontawesome-webfont.woff?v=4.4.0
OTS parsing error: incorrect file size in WOFF header

Failed to decode downloaded font: http://localhost:8080/fonts/fontawesome-webfont.ttf?v=4.4.0
OTS parsing error: incorrect entrySelector for table directory
692   3  

3 ответов:

Проблема в том, что Maven фильтровал файлы шрифтов и портил их.

    <resource>
        <directory>${project.basedir}/src/main/resources</directory>
        <filtering>true</filtering>
    </resource>

Исправление состояло в том, чтобы внести следующие изменения в pom.xml

    <resource>
        <directory>${project.basedir}/src/main/resources</directory>
        <filtering>true</filtering>
        <excludes>
            <exclude>static/fonts/**</exclude>
        </excludes>
    </resource>

    <resource>
        <directory>${project.basedir}/src/main/resources</directory>
        <filtering>false</filtering>
        <includes>
            <include>static/fonts/**</include>
        </includes>
    </resource>

Это изменение позволяет не фильтровать шрифты во время упаковки.

Другой способ сделать это-обновить конфигурацию плагина maven-resources следующим образом:

<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>

Может быть, ваш файл application.properties следует игнорировать какой-то путь, например

security.ignored=/css/**,/js/**,/images/**,/font/**

Comments

    Ничего не найдено.