OTS parsing error: Failed to convert WOFF 2.0 font to SFNT for font files of Glyphicon for Spring-boot
OTS parsing error: Failed to convert WOFF 2.0 font to SFNT for font files of Glyphicon for Spring-boot
当尝试在通过 Maven 创建的 Spring-boot Java 项目中将 Glyphicons 与 Algular 一起使用时,图标未显示,并且可以在控制台中看到以下错误:
Failed to decode downloaded font: <URL> ..
OTS parsing error: Failed to convert WOFF 2.0 font to SFNT
OTS parsing error: incorrect file size in WOFF header
OTS parsing error: incorrect entrySelector for table directory
这里有一些解决方案,但其中 none 考虑了 Spring-Boot Maven 方案。
似乎 Maven 构建资源以某种方式破坏了这些文件,Bootstrap 无法再正确解码它们,从而导致这些错误。
我发现的一种解决方法是在 maven-resources-plugin:
中添加 nonFilteredFileExtensions
<configuration>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>ttf</nonFilteredFileExtension>
<nonFilteredFileExtension>woff</nonFilteredFileExtension>
<nonFilteredFileExtension>woff2</nonFilteredFileExtension>
<nonFilteredFileExtension>eot</nonFilteredFileExtension>
<nonFilteredFileExtension>svg</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
在这里,我们可以添加 Maven 损坏的 font/icon 文件的所有扩展名,它应该可以解决问题。
插件部分应该是这样的:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>ttf</nonFilteredFileExtension>
<nonFilteredFileExtension>woff</nonFilteredFileExtension>
<nonFilteredFileExtension>woff2</nonFilteredFileExtension>
<nonFilteredFileExtension>eot</nonFilteredFileExtension>
<nonFilteredFileExtension>svg</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>
对于 angular + aws,添加:
'image/svg+xml',
'font/ttf',
'font/woff',
'font/woff2',
到 binaryMimeTypes。
当尝试在通过 Maven 创建的 Spring-boot Java 项目中将 Glyphicons 与 Algular 一起使用时,图标未显示,并且可以在控制台中看到以下错误:
Failed to decode downloaded font: <URL> ..
OTS parsing error: Failed to convert WOFF 2.0 font to SFNT
OTS parsing error: incorrect file size in WOFF header
OTS parsing error: incorrect entrySelector for table directory
这里有一些解决方案,但其中 none 考虑了 Spring-Boot Maven 方案。
似乎 Maven 构建资源以某种方式破坏了这些文件,Bootstrap 无法再正确解码它们,从而导致这些错误。 我发现的一种解决方法是在 maven-resources-plugin:
中添加 nonFilteredFileExtensions<configuration>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>ttf</nonFilteredFileExtension>
<nonFilteredFileExtension>woff</nonFilteredFileExtension>
<nonFilteredFileExtension>woff2</nonFilteredFileExtension>
<nonFilteredFileExtension>eot</nonFilteredFileExtension>
<nonFilteredFileExtension>svg</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
在这里,我们可以添加 Maven 损坏的 font/icon 文件的所有扩展名,它应该可以解决问题。
插件部分应该是这样的:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>ttf</nonFilteredFileExtension>
<nonFilteredFileExtension>woff</nonFilteredFileExtension>
<nonFilteredFileExtension>woff2</nonFilteredFileExtension>
<nonFilteredFileExtension>eot</nonFilteredFileExtension>
<nonFilteredFileExtension>svg</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>
对于 angular + aws,添加: 'image/svg+xml', 'font/ttf', 'font/woff', 'font/woff2',
到 binaryMimeTypes。