我正在尝试遵循http://wiki.eclipse.org/Jetty/Tutorial/Jetty_HelloWorld教程(使用Eclipse)。该项目编译得很好。但是,当我点击localhost服务器时,我得到:
java.lang.ClassNotFoundException: javax.servlet.AsyncContext
现在看起来在Java EE中定义了我需要添加到构建路径以使其工作的内容?我已经安装了Java EE,但我不确定从那里开始。
我正在尝试使用
码头-全8.0.4.v20111024.jar
servlet的API-2.5.jar
答案 0 :(得分:11)
该类是Servlet 3.0中的introduced,它是Java EE 6的一部分。该教程中提到的Jetty 7是一个Servlet 2.5容器。 Servlet 2.5是Java EE 5的一部分。您需要升级到Jetty 8,这是一个Servlet 3.0容器。
下载并安装整个Java EE包可用here没有任何意义,因为它基本上为您提供了Java EE参考实现Glassfish,而不是Jetty,而您需要更新版本的Jetty,而不是Glassfish。 / p>
你还需要确保没有从某个地方下载任意servlet-api.jar
文件并将其放在类路径中,而你手上已经有一个像Jetty这样的值得一提的servlet容器(这是一个经典的初学者错误地避免了他们在javax.servlet
API上遇到的编译错误。
答案 1 :(得分:0)
我猜你安装的Java EE 5没有AsyncContext。更新到Java EE 6,其中包含: Java EE 6 Doc