Как настроить Jetty с Eclipse без плагина? - PullRequest
4 голосов
/ 24 июля 2010

Я хотел бы начать с веб-разработки на Java.Во-первых, я хотел бы настроить хорошую среду разработки с использованием сервера Jetty в Eclipse, что позволило бы сократить цикл разработки.Но я изо всех сил пытаюсь настроить это.

Есть и другие вопросы по этому поводу, но они для меня либо старые, либо неполные.Я видел предложения по использованию плагина, но плагины, кажется, устарели.Также я не буду нуждаться в использовании Maven в начале.

Я видел способы настройки Jetty в Eclipse без плагина:

Но для меня, как новичка в серверной Java и Jetty, они неполны.

Я следовал инструкциям в связанной статье.Но на шаг 2 Я не знаю, какой контент должен иметь web.xml, я создал пустой XML-файл.И когда я пытаюсь запустить сервер на шаг 4 , я получаю java.lang.ClassNotFoundException: org.mortbay.jetty.webapp.WebAppContext

Как мне настроить Jetty с Eclipse без плагина?

ОБНОВЛЕНИЕ

Как и предполагалось, мне следует сменить класс, поскольку он изменился с Jetty 6 на Jetty 7. Я снова запустил сервер Jetty и теперь получаю NoSuchMethodException:

2010-07-25 13:37:22.849:WARN::Config error at <Set name="var">../sampleweb/sampleweb_webroot</Set> java.lang.NoSuchMethodException: class org.eclipse.jetty.webapp.WebAppContext.setVar(class java.lang.String)
2010-07-25 13:37:22.849:WARN::Unable to reach node goal: started
java.lang.NoSuchMethodException: class org.eclipse.jetty.webapp.WebAppContext.setVar(class java.lang.String)

My sampleweb.xml, который находится в каталоге context в моем проекте Jetty и имеет следующее содержимое, взятое из статьи:

<?xml version="1.0" encoding="UTF-8"?>
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
<Set name="contextPath">/app</Set>
<Set name="var">../sampleweb/sampleweb_webroot</Set>
<Set name="extractWAR">true</Set>
<Set name="copyWebDir">false</Set>
<Set name="defaultDescriptor">
<SystemProperty name="jetty.home" default="."/>
/etc/webdefault.xml</Set>
</Configure>

Я бы хотел настроить простоеСервлет Hello World.

Ответы [ 2 ]

0 голосов
/ 25 июля 2010

Это неполное руководство в том, что технологический стек не был выбран для вас.Пустой web.xml должен работать нормально, но Jetty также ничего не публикует.Другими словами, в вашем приложении есть точка доступа.

Там должно быть много ссылок на web.xml.См. этот пример .Субэлемент <servlet-class> <servlet> указывает на класс, который реализует javax.servlet.Servlet , который является элементарным интерфейсом для классов, обрабатывающих веб-запросы.

С другой стороны, выможет использовать что-то вроде среды Spring, тогда вы используете другой подход, где вы регистрируете сам Spring как сервлет (или слушатель сервлета).См. этот пример из официальной документации .Существует множество других веб-фреймворков, которые требуют различных макетов web.xml.

Что касается вашей второй проблемы, используете ли вы Jetty 6?Руководство написано для Jetty 6 и не будет работать для более новых версий, так как имена классов изменились.А если вы используете Jetty 6, рассмотрите возможность установки серверного адаптера Jetty, который предлагает Торбьерн Равн Андерсен в своем ответе.

0 голосов
/ 24 июля 2010

Вам нужен серверный адаптер Jetty - ищите установить новый сервер - который позволит вам работать с расстегнутым Jetty 6.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...