2012-05-23 38 views
7

我已經按照鏈接http://wiki.eclipse.org/Jetty/Tutorial/Jetty_HelloWorld教程(使用Eclipse)。並且還查看了現有的計算器stackoverflow hereClassNotFoundException:Jetty中的javax.servlet.AsyncContext eclipse中的hello世界

我使用聚合jetty 8.0.0.jar和8.1.3.jar以及servlet-api-2.5.jar。我已經將這兩個罐子添加到了類路徑中,並且還包含了slf4j-simple-1.6.4.jar。

我仍然得到

'
2012-05-23 15:23:06.813:警告: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) 

`

有什麼想法?

回答

18

我認爲你需要servlet api 3而不是2.5。在Servlet 3.0中引入了AsyncContext,它在2.5中不存在。

+0

正確,你也應該更新到更新版本的jetty8,8.1.3.v20120416是固體 –

+0

Servlet api 3.0可以從[這裏]下載(http://download.oracle.com/otndocs/jcp/ servlet-3.0-fr-eval-oth-JSpec /)**編輯:** Servlet api 3.0解決了@Kai Sternad回答的問題。爲了具體提供鏈接,原因是因爲servlet-api-3.0-alpha-1版本不能解決問題。然而,在[tutorials](http://wiki.eclipse.org/Jetty/Tutorial/Jetty_HelloWorld)中的servlet api的鏈接有這個版本可作爲** latest ** download,它不包含class [AsyncContext]( http://docs.oracle.com/javaee/6/api/javax/servlet/AsyncContext.html),因此沒有' – mluthra

相關問題