<link href="//netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.css"
rel="stylesheet" />
使用icon-home
类时,这会给我一个漂亮的主页图标:
然而,我不希望依赖Bootstrap服务器提供的Font Awesome资源,因此我正在尝试将这些资源与我的war捆绑在一起,并配置我的视图以使用捆绑的资源。
我正在使用由WebJars项目创建的预制JAR。 我的POM文件具有以下依赖关系:
<dependency>
<groupId>org.webjars</groupId>
<artifactId>font-awesome</artifactId>
<version>3.2.1</version>
</dependency>
这会将JAR文件放在我的WAR文件的WEB-INF/lib目录下。该JAR文件结构的相关部分如下:
META-INF
- MANIFEST.MF
+ maven
- resources
- webjars
- font-awesome
- 3.2.1
- css
- font-awesome.css
- *other css files*
- font
- *font files*
我尝试了以下方法来在我的项目中包含图标:
<h:outputStylesheet library="webjars"
name="font-awesome/3.2.1/css/font-awesome.css" />
然而,这使之前正常工作的主页图标变为:
![enter image description here](https://istack.dev59.com/baq7x.webp)
GET http://DOMAIN:PORT/CONTEXT-ROOT/javax.faces.resource/font-awesome/3.2.1/font/fontawesome-webfont.woff?v=3.2.1 404 (Not Found)
GET http://DOMAIN:PORT/CONTEXT-ROOT/javax.faces.resource/font-awesome/3.2.1/font/fontawesome-webfont.ttf?v=3.2.1 404 (Not Found)
GET http://DOMAIN:PORT/CONTEXT-ROOT/javax.faces.resource/font-awesome/3.2.1/font/fontawesome-webfont.svg 404 (Not Found)
现在看起来,虽然css文件被正确解析了,但是该css文件引用的字体文件无法找到。我已经检查了css文件中的这些引用,它们是:
src: url('../font/fontawesome-webfont.eot?v=3.2.1');
src: url('../font/fontawesome-webfont.eot?#iefix&v=3.2.1') format('embedded-opentype'), url('../font/fontawesome-webfont.woff?v=3.2.1') format('woff'), url('../font/fontawesome-webfont.ttf?v=3.2.1') format('truetype'), url('../font/fontawesome-webfont.svg#fontawesomeregular?v=3.2.1') format('svg');
这些路径是相对于CSS资源的,所以我认为JSF应该没有问题找到它。现在我不确定该怎么做。
任何指点都将不胜感激!干杯。