相关疑难解决方法(0)

如何使用webjars.org上的Font Awesome和JSF

我试图在我的JSF应用程序中使用Font Awesome图标.我按照入门说明并将以下内容添加到我的视图部分,取得了一些成功<h:head>:

<link href="//netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.css"
      rel="stylesheet" />
Run Code Online (Sandbox Code Playgroud)

当我使用这个icon-home类时,这给了我一个很好的主页图标:

在此输入图像描述

但是,我不想依赖引导服务器来提供Font Awesome资源,所以我试图将这些与我的战争捆绑在一起,并配置我的视图以使用捆绑的资源.

我正在使用webjars项目创建的预制JAR.我的pom具有以下依赖性:

<dependency>
    <groupId>org.webjars</groupId>
    <artifactId>font-awesome</artifactId>
    <version>3.2.1</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

这将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*
Run Code Online (Sandbox Code Playgroud)

我尝试了以下方法在我的项目中包含图标:

<h:outputStylesheet library="webjars" 
                    name="font-awesome/3.2.1/css/font-awesome.css"  />
Run Code Online (Sandbox Code Playgroud)

但是,这会将以前工作的主页图标呈现为:

在此输入图像描述

我的浏览器(Chrome)在控制台中显示以下错误(域/端口/上下文根已更改以保护无辜;):

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)
Run Code Online (Sandbox Code Playgroud)

所以看起来虽然正确解析了css文件,但是找不到包含css文件引用的字体的文件.我已在css文件中检查了这些引用,它们是:

src: url('../font/fontawesome-webfont.eot?v=3.2.1');
src: …
Run Code Online (Sandbox Code Playgroud)

css jsf maven font-awesome webjars

19
推荐指数
3
解决办法
2万
查看次数

标签 统计

css ×1

font-awesome ×1

jsf ×1

maven ×1

webjars ×1