2012-05-23 2 views
7

J'ai suivi le lien http://wiki.eclipse.org/Jetty/Tutorial/Jetty_HelloWorld tutoriel (avec Eclipse). J'ai également regardé le stackoverflow existant hereClassNotFoundException: javax.servlet.AsyncContext dans Jetty bonjour monde en eclipse

J'utilise les jetées agrégées 8.0.0.jar et 8.1.3.jar avec le servlet-api-2.5.jar. J'ai ajouté ces 2 jars au chemin de la classe et j'ai aussi inclus le slf4j-simple-1.6.4.jar.

Je reçois toujours

`
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) 

`

Des pensées?

Répondre

18

Je pense que vous avez besoin de la servlet api 3, pas de 2.5. AsyncContext a été introduit dans Servlet 3.0, il n'existe pas dans 2.5.

+0

correct, et vous devriez également mettre à jour vers une nouvelle version de jetty8, 8.1.3.v20120416 est solide –

+0

Servlet api 3.0 peut être téléchargé à partir de [ici] (http://download.oracle.com/otndocs/jcp/ servlet-3.0-fr-eval-oth-JSpec /) ** Edit: ** Servlet api 3.0 résout le problème lorsque @Kai Sternad a répondu. Pour être précis concernant la fourniture de lien, la raison en était que la version de servlet-api-3.0-alpha-1 ne résout pas le problème. Cependant le lien pour servlet api dans [tutorials] (http://wiki.eclipse.org/Jetty/Tutorial/Jetty_HelloWorld) a cette version disponible en téléchargement ** latest **, qui ne contient pas de classe [AsyncContext] (http://docs.oracle.com/javaee/6/api/javax/servlet/AsyncContext.html) et par conséquent doesn ' – mluthra