【发布时间】:2014-08-19 16:02:02
【问题描述】:
我想按照此处所述设置 Jetty 进行日志记录 - http://www.eclipse.org/jetty/documentation/current/configuring-jetty-request-logs.html
但启动过程以错误结束:
[WARNING] Config error at <Set name="handler">
<New id="Handlers" class="org.eclipse.jetty.server.handler.HandlerCollection"><Set name="handlers">
<Array type="org.eclipse.jetty.server.Handler"><Item>
<New id="Contexts" class="org.eclipse.jetty.server.handler.ContextHandlerCollection"/>
</Item><Item>
<New id="DefaultHandler" class="org.eclipse.jetty.server.handler.DefaultHandler"/>
</Item><Item>
<New id="RequestLog" class="org.eclipse.jetty.server.handler.RequestLogHandler"/>
</Item></Array>
</Set></New>
</Set>
[WARNING] Failed startup of context JettyWebAppContext@2fa8ecf4@2fa8ecf4/,file:/.../test/JettyMavenHelloWarApp/src/main/webapp/,file:/.../test/JettyMavenHelloWarApp/src/main/webapp/
java.lang.NoSuchMethodException: class org.mortbay.jetty.plugin.JettyWebAppContext.setHandler(class org.eclipse.jetty.server.handler.HandlerCollection)
at org.eclipse.jetty.xml.XmlConfiguration.set(XmlConfiguration.java:455)
at org.eclipse.jetty.xml.XmlConfiguration.configure(XmlConfiguration.java:254)
at org.eclipse.jetty.xml.XmlConfiguration.configure(XmlConfiguration.java:196)
at org.eclipse.jetty.webapp.JettyWebXmlConfiguration.configure(JettyWebXmlConfiguration.java:82)
at org.eclipse.jetty.webapp.WebAppContext.configure(WebAppContext.java:470)
at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1127)
at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:577)
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:491)
at org.mortbay.jetty.plugin.JettyWebAppContext.doStart(JettyWebAppContext.java:160)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
at org.eclipse.jetty.server.handler.HandlerCollection$1.run(HandlerCollection.java:200)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:450)
at java.lang.Thread.run(Thread.java:695)
WEB-INF 中的 jetty-web.xml 有下一个配置:
<Set name="handler">
<New id="Handlers" class="org.eclipse.jetty.server.handler.HandlerCollection">
<Set name="handlers">
<Array type="org.eclipse.jetty.server.Handler">
<Item>
<New id="Contexts" class="org.eclipse.jetty.server.handler.ContextHandlerCollection"/>
</Item>
<Item>
<New id="DefaultHandler" class="org.eclipse.jetty.server.handler.DefaultHandler"/>
</Item>
<Item>
<New id="RequestLog" class="org.eclipse.jetty.server.handler.RequestLogHandler"/>
</Item>
</Array>
</Set>
</New>
</Set>
<Ref refid="RequestLog">
<Set name="requestLog">
<New id="RequestLogImpl" class="org.eclipse.jetty.server.NCSARequestLog">
<Arg><SystemProperty name="jetty.logs" default="./logs"/>/yyyy_mm_dd.request.log</Arg>
<Set name="retainDays">90</Set>
<Set name="append">true</Set>
<Set name="extended">false</Set>
<Set name="LogTimeZone">GMT</Set>
</New>
</Set>
</Ref>
我做错了什么?
我使用下一个命令编译并运行我的 WAR 文件:
mvn jetty:run
【问题讨论】: