Jetty 9在具有特定扩展名的文件上抛出空指针(woff ttf)

Jetty 9在具有特定扩展名的文件上抛出空指针(woff ttf),jetty,Jetty,Jetty显示ttf和woff文件的奇怪行为。下面的堆栈跟踪是在访问.ttf文件(静态)时生成的。我将文件重命名为.bin,它工作正常。然后我创建了一个常规html文件,并用.ttf扩展名保存了它,同样的问题也出现了 ubuntu上的java版本“1.7.0_03”+jetty-9.0.0.M3 完整堆栈跟踪: HTTP ERROR 500 Problem accessing /assets/fontawesome-webfont.ttf. Reason: Server Error Ca

Jetty显示ttf和woff文件的奇怪行为。下面的堆栈跟踪是在访问.ttf文件(静态)时生成的。我将文件重命名为.bin,它工作正常。然后我创建了一个常规html文件,并用.ttf扩展名保存了它,同样的问题也出现了

ubuntu上的java版本“1.7.0_03”+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)
HTTP错误500
访问/assets/fontawesome-webfont.ttf时出现问题。原因:
服务器错误
原因:
java.lang.NullPointerException
位于org.eclipse.jetty.util.BufferUtil.toBuffer(BufferUtil.java:678)
位于org.eclipse.jetty.server.ResourceCache$Content.(ResourceCache.java:385)
位于org.eclipse.jetty.server.ResourceCache.load(ResourceCache.java:229)
位于org.eclipse.jetty.server.ResourceCache.lookup(ResourceCache.java:188)
位于org.eclipse.jetty.servlet.DefaultServlet.doGet(DefaultServlet.java:472)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:735)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
位于org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:669)
位于org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:445)
位于org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:138)
位于org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:582)
位于org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:213)
位于org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1054)
位于org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:372)
位于org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:175)
位于org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:988)
位于org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:136)
位于org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:261)
位于org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:101)
位于org.tuckey.web.filters.urlrewrite.normalrewritenurl.doRewrite(normalrewritenurl.java:213)
位于org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:171)
位于org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
位于org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
位于org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:394)
位于org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1300)
位于org.eclipse.jetty.servlets.UserAgentFilter.doFilter(UserAgentFilter.java:82)
位于org.eclipse.jetty.servlets.GzipFilter.doFilter(GzipFilter.java:254)
位于org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1300)
位于org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:443)
位于org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:138)
位于org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:564)
位于org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:213)
位于org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1054)
位于org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:372)
位于org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:175)
位于org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:988)
位于org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:136)
位于org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:258)
位于org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:109)
位于org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
位于org.eclipse.jetty.server.server.handle(server.java:410)
位于org.eclipse.jetty.server.HttpChannel.run(HttpChannel.java:245)
位于org.eclipse.jetty.server.HttpConnection$1.run(HttpConnection.java:75)
位于org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:597)
位于org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:528)
运行(Thread.java:722)

Jetty在mime.properties中缺少默认mime类型条目。我刚刚为jetty9修好了。快速修复方法是在webdefault.xml中为ttf添加mime类型:

ttf 应用程序/八位字节流

干杯, 托马斯