ClassNotFoundException: javax.servlet.AsyncContext в Приветственный мир Jetty - PullRequest
9 голосов
/ 27 января 2012

Я пытаюсь следовать учебнику http://wiki.eclipse.org/Jetty/Tutorial/Jetty_HelloWorld (с Eclipse).Проект компилируется нормально.Однако, когда я нажимаю на локальный сервер, я получаю:

java.lang.ClassNotFoundException: javax.servlet.AsyncContext

Теперь это выглядит так, как это определено в Java EE , что мне нужно добавить в путь сборки, чтобы получить этоРабота?Я установил Java EE, но я не уверен, куда идти.

Я пытаюсь сделать это с

jetty-all-8.0.4.v20111024.jar

сервлет-апи-2.5.jar

Ответы [ 2 ]

11 голосов
/ 27 января 2012

Этот класс представлен в Servlet 3.0, который является частью Java EE 6. Jetty 7, как упоминалось в этом руководстве, является контейнером Servlet 2.5. Servlet 2.5 является частью Java EE 5. Вам необходимо выполнить обновление до Jetty 8, который является контейнером Servlet 3.0.

Загрузка и установка всего пакета Java EE, как доступно здесь не имеет смысла, поскольку это в основном дает вам эталонную реализацию Java EE Glassfish, а не Jetty, тогда как вам нужна более новая версия Jetty, а не Glassfish .

Вам также нужно убедиться, что вы не скачали откуда-либо произвольный файл servlet-api.jar и не поместили его в путь к классам, пока у вас уже есть полноценный контейнер сервлетов, такой как Jetty (что является классической ошибкой новичка). обойти ошибки компиляции, с которыми они столкнулись в javax.servlet API).

Смотри также:

0 голосов
/ 27 января 2012

Я полагаю, вы установили Java EE 5 без AsyncContext.Обновление до Java EE 6, которое имеет: Java EE 6 Doc

...