java.lang.ClassNotFoundException: org.mortbay.jetty.servlet.DefaultServlet

 错误信息:
2014-01-16 23:50:34.758:WARN:oejs.Holder:
java.lang.ClassNotFoundException: org.mortbay.jetty.servlet.DefaultServlet
 at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
 at org.codehaus.classworlds.RealmClassLoader.loadClassDirect(RealmClassLoader.java:195)
 at org.codehaus.classworlds.DefaultClassRealm.loadClass(DefaultClassRealm.java:255)
 at org.codehaus.classworlds.DefaultClassRealm.loadClass(DefaultClassRealm.java:274)
 at org.codehaus.classworlds.RealmClassLoader.loadClass(RealmClassLoader.java:214)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
 at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:424)
 at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:377)
 at org.eclipse.jetty.util.Loader.loadClass(Loader.java:92)
 at org.eclipse.jetty.util.Loader.loadClass(Loader.java:71)
 at org.eclipse.jetty.servlet.Holder.doStart(Holder.java:92)
 at org.eclipse.jetty.servlet.ServletHolder.doStart(ServletHolder.java:291)
 at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
 at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:776)
 at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:258)
 at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1213)
 at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:699)
 at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:454)
 at org.mortbay.jetty.plugin.JettyWebAppContext.doStart(JettyWebAppContext.java:256)
 at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
 at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:224)
 at org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:167)
 at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
 at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:224)
 at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
 at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:90)
 at org.eclipse.jetty.server.Server.doStart(Server.java:263)
 at org.mortbay.jetty.plugin.JettyServer.doStart(JettyServer.java:65)
 at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
 

 

解决方案:

如果在eclipse中继承了jetty容器 启动报如上错误时,需要更改web.xml中servlet的配置。

由于jetty交eclipse组织接管之后,将org.mortbay.jetty.servlet.DefaultServlet修改为org.eclipse.jetty.servlet.DefaultServlet

<servlet>
    <servlet-name>default</servlet-name>
    <!--把org.mortbay.jetty.servlet.DefaultServlet改成org.eclipse.jetty.servlet.DefaultServlet即可-->
    <servlet-class>org.eclipse.jetty.servlet.DefaultServlet</servlet-class>
    <init-param>
      <param-name>useFileMappedBuffer</param-name>
      <!-- 设置为false解决jetty容器启动时不能修改静态文件的问题. -->
      <param-value>false</param-value>
    </init-param>  
</servlet>

<servlet-mapping> 
	<servlet-name>default</servlet-name> 
	<url-pattern>/</url-pattern> 
</servlet-mapping>     

 

 

你可能感兴趣的:(java.lang.ClassNotFoundException: org.mortbay.jetty.servlet.DefaultServlet)