【问题标题】:Jetty 9 FontAwesome Empty IconsJetty 9 FontAwesome 空图标
【发布时间】:2015-08-14 03:53:11
【问题描述】:

我正在使用 Jetty 9 托管我的 Java webapp,我想自己托管 fontawesome 图标。但是我看不到正确的图标(它们是方形的。如果我从 CDN 链接,它可以正常工作

此链接有效

  <%--<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">--%>

这不是

  <link rel="stylesheet" type="text/css" href="../resources/font-awesome-4.3.0/css/font-awesome.min.css"/>

我尝试将以下内容添加到我的 web.xml 中

  <mime-mapping>
    <extension>otf</extension>
    <mime-type>application/x-font-opentype</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>ttf</extension>
    <mime-type>application/x-font-truetype</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>woff</extension>
    <mime-type>application/font-woff</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>woff2</extension>
    <mime-type>application/octet-stream</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>eot</extension>
    <mime-type>application/vnd.ms-fontobject</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>svg</extension>
    <mime-type>image/svg+xml</mime-type>
  </mime-mapping>

我从 IE 得到的只有以下内容

CSS3111:@font-face 遇到未知错误。文件:
OpenSans-Light.ttf

和铬

无法解码下载的字体: 本地主机:8080/resources/theme-triton/resources/fonts/OpenSans-Light.ttf index.jsp:1 无法解码下载的字体: 本地主机:8080/resources/theme-triton/resources/font-awesome/fonts/fontawesome-webfont.woff2?v=4.3.0 index.jsp:1 无法解码下载的字体: 本地主机:8080/resources/theme-triton/resources/fonts/OpenSans-Regular.ttf index.jsp:1 无法解码下载的字体: 本地主机:8080/resources/theme-triton/resources/fonts/OpenSans-Bold.ttf index.jsp:1 无法解码下载的字体: 本地主机:8080/resources/theme-triton/resources/font-awesome/fonts/fontawesome-webfont.woff?v=4.3.0 index.jsp:1 无法解码下载的字体: 本地主机:8080/resources/theme-triton/resources/font-awesome/fonts/fontawesome-webfont.ttf?v=4.3.0 index.jsp:1 无法解码下载的字体: 本地主机:8080/resources/font-awesome-4.3.0/fonts/fontawesome-webfont.woff2?v=4.3.0 index.jsp:1 无法解码下载的字体: 本地主机:8080/resources/font-awesome-4.3.0/fonts/fontawesome-webfont.woff?v=4.3.0 index.jsp:1 无法解码下载的字体: 本地主机:8080/resources/font-awesome-4.3.0/fonts/fontawesome-webfont.ttf?v=4.3.0

响应头

HTTP/1.1 200 OK
内容类型:application/x-font-truetype
最后修改时间:2015 年 5 月 31 日星期日 17:30:12 GMT
接受范围:字节
内容长度:359350
服务器:码头(9.2.10.v20150310)

请求标头

接受:*/*
接受编码:gzip、deflate、sdch
接受语言:en-GB,en-US;q=0.8,en;q=0.6
缓存控制:无缓存
连接:保持活动
主机:本地主机:8080
杂注:无缓存
引用者:localhost:8080/wro/test.css
用户代理:Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2418.0 Safari/537.36

谁能告诉我哪里/我做错了什么?

【问题讨论】:

  • 你能把链接放在它托管的地方吗?您是否在 Element Inspector 中检查了文件是否按照您的需要正确链接?编辑:好的,从您的日志中,我认为您已确保正确链接。一旦您在 html 中引用的 css 文件在源代码中单击时打开正常,您还能检查并确认吗?

标签: java css jetty mime-types font-awesome


【解决方案1】:

我没有指定我使用 maven 来构建我的项目。我只需要指定 maven 不应该过滤的文件扩展名,如果不是,maven 会损坏文件。类似于这个答案https://stackoverflow.com/a/31475762/4959062

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-resources-plugin</artifactId>
    <version>2.7</version>
    <configuration>
      <nonFilteredFileExtensions>
        <nonFilteredFileExtension>woff</nonFilteredFileExtension>
        <nonFilteredFileExtension>ttf</nonFilteredFileExtension>
        <nonFilteredFileExtension>woff2</nonFilteredFileExtension>
        <nonFilteredFileExtension>eot</nonFilteredFileExtension>
        <nonFilteredFileExtension>swf</nonFilteredFileExtension>
        <nonFilteredFileExtension>ico</nonFilteredFileExtension>
      </nonFilteredFileExtensions>
    </configuration>
  </plugin>

【讨论】:

    【解决方案2】:

    尝试删除 @font-face { } 块本地 css 中的 '?v=4.3.0' 后缀。

    【讨论】:

      猜你喜欢
      • 2023-03-23
      • 2016-10-11
      • 2021-08-08
      • 1970-01-01
      • 2017-06-12
      • 1970-01-01
      • 1970-01-01
      • 2014-11-22
      • 1970-01-01
      相关资源
      最近更新 更多