ในกรณีที่คุณทำงานกับ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)คุณใช้ Package Resource Guard อย่างถูกต้องเพื่อให้โหลดไฟล์ฟอนต์ถูกต้องหรือไม่
ตัวอย่างจากชั้นเรียนของคุณที่ขยาย WebApplication:
@Override
public void init() {
super.init();
get().getResourceSettings().setPackageResourceGuard(new PackageResourceGuard());
}
ตรวจสอบ 2)หลังจากที่คุณตรวจสอบให้แน่ใจว่าแบบอักษรทั้งหมดถูกถ่ายโอนอย่างถูกต้องไปยังเว็บเบราว์เซอร์ให้ตรวจสอบสิ่งที่ถ่ายโอนจริงไปยังเว็บเบราว์เซอร์เช่นความสมบูรณ์ของไฟล์แบบอักษรเปลี่ยนไปหรือไม่ เปรียบเทียบไฟล์ในไดเรกทอรีต้นทางของคุณและไฟล์ที่โอนไปยังเว็บเบราว์เซอร์โดยใช้เช่นแถบเครื่องมือผู้พัฒนาเว็บของ Firefox และ DiffDog (สำหรับการเปรียบเทียบไฟล์)
โดยเฉพาะอย่างยิ่งถ้าคุณใช้ Maven ให้ระวังการกรองทรัพยากร อย่ากรองโฟลเดอร์ที่มีไฟล์ / ฟอนต์อยู่มิฉะนั้นไฟล์เหล่านั้นจะเสียหาย
ตัวอย่างจาก 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>
ในตัวอย่างข้างต้นเราจะไม่กรองโฟลเดอร์ src / main / java ที่มีไฟล์ css และฟอนต์อยู่
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการกรองข้อมูลไบนารีโปรดดูเอกสารประกอบ:
http://maven.apache.org/plugins/maven-resources-plugin/examples/filter.html
โดยเฉพาะอย่างยิ่งเอกสารเตือน: " คำเตือน:อย่ากรองไฟล์ที่มีเนื้อหาไบนารีเช่นรูปภาพ! ซึ่งน่าจะส่งผลให้เกิดผลลัพธ์ที่เสียหายหากคุณมีทั้งไฟล์ข้อความและไฟล์ไบนารีเป็นทรัพยากรคุณต้องประกาศชุดทรัพยากรเอกสิทธิ์สองชุด ชุดรีซอร์สแรกกำหนดไฟล์ที่จะถูกกรองและชุดรีซอร์สอื่นกำหนดไฟล์ที่จะคัดลอกไม่เปลี่ยนแปลง ... "