2012-12-18 28 views
0

Jetty顯示ttf和woff文件的奇怪行爲。訪問.ttf文件(靜態)時會生成以下堆棧跟蹤。我將文件重命名爲.bin,它工作正常。然後,我創建了一個常規的html文件並用.ttf擴展名保存,出現了同樣的問題。Jetty 9以特定擴展名在文件上拋出空指針(woff ttf)

Java版本「1.7.0_03」+ ubuntu上的jetty-9.0.0.M3。

完整堆棧跟蹤:

HTTP ERROR 500 
Problem accessing /assets/fontawesome-webfont.ttf. Reason: 
    Server Error 
Caused by: 
java.lang.NullPointerException 
    at org.eclipse.jetty.util.BufferUtil.toBuffer(BufferUtil.java:678) 
    at org.eclipse.jetty.server.ResourceCache$Content.<init>(ResourceCache.java:385) 
    at org.eclipse.jetty.server.ResourceCache.load(ResourceCache.java:229) 
    at org.eclipse.jetty.server.ResourceCache.lookup(ResourceCache.java:188) 
    at org.eclipse.jetty.servlet.DefaultServlet.doGet(DefaultServlet.java:472) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:735) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) 
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:669) 
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:445) 
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:138) 
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:582) 
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:213) 
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1054) 
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:372) 
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:175) 
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:988) 
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:136) 
    at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:261) 
    at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:101) 
    at org.tuckey.web.filters.urlrewrite.NormalRewrittenUrl.doRewrite(NormalRewrittenUrl.java:213) 
    at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:171) 
    at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145) 
    at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92) 
    at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:394) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1300) 
    at org.eclipse.jetty.servlets.UserAgentFilter.doFilter(UserAgentFilter.java:82) 
    at org.eclipse.jetty.servlets.GzipFilter.doFilter(GzipFilter.java:254) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1300) 
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:443) 
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:138) 
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:564) 
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:213) 
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1054) 
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:372) 
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:175) 
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:988) 
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:136) 
    at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:258) 
    at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:109) 
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) 
    at org.eclipse.jetty.server.Server.handle(Server.java:410) 
    at org.eclipse.jetty.server.HttpChannel.run(HttpChannel.java:245) 
    at org.eclipse.jetty.server.HttpConnection$1.run(HttpConnection.java:75) 
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:597) 
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:528) 
    at java.lang.Thread.run(Thread.java:722) 

回答

2

碼頭中缺少mime.properties默認的MIME類型條目。我剛剛修復了jetty9。速戰速決你是在webdefault.xml添加MIME類型TTF:

TTF 應用程序/八位字節流

乾杯, 托馬斯

+0

謝謝,它解決了prbolem。 – saremapadhasa