2012-05-23 19 views
7

He seguido el enlace http://wiki.eclipse.org/Jetty/Tutorial/Jetty_HelloWorld tutorial (con Eclipse). y también miró el stackoverflow existente hereClassNotFoundException: javax.servlet.AsyncContext en Jetty hello world en eclipse

Estoy usando el embarcadero agregado 8.0.0.jar y 8.1.3.jar junto con el servlet-api-2.5.jar. He agregado estos 2 jar a la ruta de clase y también incluí el slf4j-simple-1.6.4.jar también.

todavía estoy recibiendo

`
2012-05-23 15: 23: 06,813: WARN: oeji.nio: java.lang.NoClassDefFoundError: javax/servlet/AsyncContext

at org.eclipse.jetty.server.HttpConnection.<init>(HttpConnection.java:155) 
at org.eclipse.jetty.server.AsyncHttpConnection.<init>(AsyncHttpConnection.java:19) 
at org.eclipse.jetty.server.nio.SelectChannelConnector$SelectChannelHttpConnection.<init>(SelectChannelConnector.java:309) 
at org.eclipse.jetty.server.nio.SelectChannelConnector$SelectChannelHttpConnection.<init>(SelectChannelConnector.java:303) 
at org.eclipse.jetty.server.nio.SelectChannelConnector.newConnection(SelectChannelConnector.java:286) 
at org.eclipse.jetty.server.nio.SelectChannelConnector$ConnectorSelectorManager.newConnection(SelectChannelConnector.java:364) 
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.<init>(SelectChannelEndPoint.java:71) 
at org.eclipse.jetty.server.nio.SelectChannelConnector.newEndPoint(SelectChannelConnector.java:274) 
at org.eclipse.jetty.server.nio.SelectChannelConnector$ConnectorSelectorManager.newEndPoint(SelectChannelConnector.java:370) 
at org.eclipse.jetty.io.nio.SelectorManager$SelectSet.createEndPoint(SelectorManager.java:938) 
at org.eclipse.jetty.io.nio.SelectorManager$SelectSet.doSelect(SelectorManager.java:497) 
at org.eclipse.jetty.io.nio.SelectorManager$1.run(SelectorManager.java:283) 
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:598) 
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:533) 
at java.lang.Thread.run(Thread.java:679) 

    Caused by: 
    java.lang.ClassNotFoundException: javax.servlet.AsyncContext 
at java.net.URLClassLoader$1.run(URLClassLoader.java:217) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.net.URLClassLoader.findClass(URLClassLoader.java:205) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:321) 
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:266) 
at org.eclipse.jetty.server.HttpConnection.<init>(HttpConnection.java:155) 
at org.eclipse.jetty.server.AsyncHttpConnection.<init>(AsyncHttpConnection.java:19) 
at org.eclipse.jetty.server.nio.SelectChannelConnector$SelectChannelHttpConnection.<init>(SelectChannelConnector.java:309) 
at org.eclipse.jetty.server.nio.SelectChannelConnector$SelectChannelHttpConnection.<init>(SelectChannelConnector.java:303) 
at org.eclipse.jetty.server.nio.SelectChannelConnector.newConnection(SelectChannelConnector.java:286) 
at org.eclipse.jetty.server.nio.SelectChannelConnector$ConnectorSelectorManager.newConnection(SelectChannelConnector.java:364) 
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.<init>(SelectChannelEndPoint.java:71) 
at org.eclipse.jetty.server.nio.SelectChannelConnector.newEndPoint(SelectChannelConnector.java:274) 
at org.eclipse.jetty.server.nio.SelectChannelConnector$ConnectorSelectorManager.newEndPoint(SelectChannelConnector.java:370) 
at org.eclipse.jetty.io.nio.SelectorManager$SelectSet.createEndPoint(SelectorManager.java:938) 
at org.eclipse.jetty.io.nio.SelectorManager$SelectSet.doSelect(SelectorManager.java:497) 
at org.eclipse.jetty.io.nio.SelectorManager$1.run(SelectorManager.java:283) 
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:598) 
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:533) 
at java.lang.Thread.run(Thread.java:679) 

`

¿Alguna idea?

Respuesta

18

Creo que necesita el servlet api 3, no 2.5. AsyncContext se introdujo en Servlet 3.0, no existe en 2.5.

+0

correcto, y también debe actualizar a una versión más reciente de jetty8, 8.1.3.v20120416 es sólido –

+0

Servlet api 3.0 se puede descargar desde [aquí] (http://download.oracle.com/otndocs/jcp/ servlet-3.0-fr-eval-oth-JSpec /) ** Editar: ** Servlet api 3.0 resuelve el problema como respondió @Kai Sternad. Para ser específico con respecto a la provisión de enlace, la razón fue porque la versión servlet-api-3.0-alfa-1 no resuelve el problema. Sin embargo, el enlace para servlet api en los [tutoriales] (http://wiki.eclipse.org/Jetty/Tutorial/Jetty_HelloWorld) tiene esta versión disponible como ** última ** descarga, que no contiene clase [AsyncContext] (http://docs.oracle.com/javaee/6/api/javax/servlet/AsyncContext.html) y por lo tanto no – mluthra