2015-05-31 58 views
0

我正在用Jetty 9托管我的Java webapp,并且我想自己主持fontawesome图标。但是我没有看到正确的图标(他们是正方形的。如果我从CDN链接,它工作正常Jetty 9 FontAwesome空图标

此链接

<%--<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 encountered unknown error. File: 
OpenSans-Light.ttf 

和Chrome

 
Failed to decode downloaded font: 
localhost:8080/resources/theme-triton/resources/fonts/OpenSans-Light.ttf 
index.jsp:1 Failed to decode downloaded font: 
localhost:8080/resources/theme-triton/resources/font-awesome/fonts/fontawesome-webfont.woff2?v=4.3.0 
index.jsp:1 Failed to decode downloaded font: 
localhost:8080/resources/theme-triton/resources/fonts/OpenSans-Regular.ttf 
index.jsp:1 Failed to decode downloaded font: 
localhost:8080/resources/theme-triton/resources/fonts/OpenSans-Bold.ttf 
index.jsp:1 Failed to decode downloaded font: 
localhost:8080/resources/theme-triton/resources/font-awesome/fonts/fontawesome-webfont.woff?v=4.3.0 
index.jsp:1 Failed to decode downloaded font: 
localhost:8080/resources/theme-triton/resources/font-awesome/fonts/fontawesome-webfont.ttf?v=4.3.0 
index.jsp:1 Failed to decode downloaded font: 
localhost:8080/resources/font-awesome-4.3.0/fonts/fontawesome-webfont.woff2?v=4.3.0 
index.jsp:1 Failed to decode downloaded font: 
localhost:8080/resources/font-awesome-4.3.0/fonts/fontawesome-webfont.woff?v=4.3.0 
index.jsp:1 Failed to decode downloaded font: 
localhost:8080/resources/font-awesome-4.3.0/fonts/fontawesome-webfont.ttf?v=4.3.0 

响应头

HTTP/1.1 200 OK 
Content-Type: application/x-font-truetype 
Last-Modified: Sun, 31 May 2015 17:30:12 GMT 
Accept-Ranges: bytes 
Content-Length: 359350 
Server: Jetty(9.2.10.v20150310) 

请求头

Accept:*/* 
Accept-Encoding:gzip, deflate, sdch 
Accept-Language:en-GB,en-US;q=0.8,en;q=0.6 
Cache-Control:no-cache 
Connection:keep-alive 
Host:localhost:8080 
Pragma:no-cache 
Referer:localhost:8080/wro/test.css 
User-Agent:Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2418.0 Safari/537.36 

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

+0

你可以把链接放在托管的地方吗?您是否检查过元素检查器,该文件是否正确链接?编辑:好吧,从你的日志,我认为你已经确保正确的链接。你还可以检查并确认一次,你在HTML中引用的CSS文件在源代码中单击打开罚款? –

回答

2

我没有指定我正在使用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> 
1

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