如果您使用的是Maven和Apache Wicket,还请检查以下内容,以尝试解决Font-Awesome和未加载图标的问题:
例如,如果您将文件放置在以下文件结构中
/src
/main
/java
/your
/package
/css
font-awesome.css
/font
fontawesome-webfont.eot
fontawesome-webfont.svg
fontawesome-webfont.svgz
fontawesome-webfont.ttf
fontawesome-webfont.woff
检查1)您是否正确使用软件包资源保护程序,以便正确加载字体文件?
您的类中扩展WebApplication的示例:
@Override
public void init() {
super.init();
get().getResourceSettings().setPackageResourceGuard(new PackageResourceGuard());
}
检查2)确保将所有字体正确传输到Web浏览器后,检查是否已实际传输到Web浏览器,即,字体文件的完整性是否发生了变化?使用Firefox和DiffDog的Web开发人员工具栏比较源目录中的文件和传输到Web浏览器的文件(用于文件比较)。
特别是如果您使用的是Maven,请注意资源过滤。不要过滤包含/ font文件的文件夹-否则它们将被破坏。
来自pom.xml的示例
<build>
<finalName>Your project</finalName>
<resources>
<resource>
<filtering>true</filtering>
<directory>src/main/resources</directory>
</resource>
<resource>
<filtering>false</filtering>
<directory>src/main/java</directory>
<includes>
<include>**</include>
</includes>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>
</build>
在上面的示例中,我们不筛选包含css和字体文件的文件夹src / main / java。
有关二进制数据过滤的更多信息,请参见文档:
http://maven.apache.org/plugins/maven-resources-plugin/examples/filter.html
特别是文档警告:“ 警告:请勿过滤图像等二进制内容的文件!很可能会导致输出损坏。如果同时将文本文件和二进制文件作为资源,则需要声明两个互斥的资源集。第一个资源集定义了要过滤的文件,另一个资源集定义了要原样复制的文件...”