Любой способ работы с Eclipse WTP, который не означает перераспределение приложения _WHOLE_ при изменении страницы JSP

Я перенесла веб-приложение из MyEclipse в Eclipse WTP, и теперь я нахожусь в середине первого крупного обновления до базы кода и веб-страниц после миграции, и это откровенно сводит меня с ума, что сохранение страницы JSP вызывает перераспределение приложения WHOLE, так как требуется время и что мое бэкэнд-соединение не выдерживает сериализации-десериализации объекта сеанса (что нетривиально для исправления). В дополнение к этому JSP-редактор безумно медленный, поэтому мне часто приходится останавливаться, чтобы редактор мог наверстать упущенное, где мои правки попадают в небольшой JSP с использованием JavaServer Faces. Отключение проверки не помогло.

Динамический веб-проект Eclipse зависит от нескольких проектов eclipse библиотеки, поэтому я не могу просто сказать, например. Jetty для использования папки WebRoot, поскольку в пути к классам отсутствует несколько зависимостей.

Возникает вопрос:

  • Есть ли способ работы - ЛЮБОЙ способ работы - с системой Eclipse WTP, которая НЕ подразумевает повторное развертывание всего каждый раз, когда сохраняется какой-либо файл?

Я могу использовать сервер Tomcat 5.5 или Jetty 6.


EDIT: наличие JSP-редактора, способного идти в ногу с ним, тоже будет очень хорошо...


EDIT: на JSP-страницах содержатся JSF-теги (myfaces 1.1.4, tomahawk 1.1.9), если это имеет значение?

Ответ 1

Я добавлю другое предложение, которое является более обходным путем.

Вы можете использовать плагин FileSync, чтобы синхронизировать ваши каталоги bin и webroot с вашим контейнером сервлета. Вам придется использовать исходную установку, а не метаданные рабочей области таким образом. Затем, после запуска сервера в режиме отладки, все будет развернуто в горячем режиме.

Я успешно использовал этот подход со стеклянными рыбками.


Еще одна вещь - проверить параметры конфигурации сервера в проекте Servers (там должна быть папка). Возможно, некоторые опции debug или hot-deploy отключены.


Что касается скорости редактора JSP - ну, отключение проверки - это первое, что нужно сделать, и вы это сделали. Честно говоря, мои jsp-страницы (содержащие jsf-теги и фактически использующие facelets) не имеют серьезных проблем со скоростью. Возможно, используйте новую установку?

Ответ 2

в настройках сервера Tomcat в eclipse вы должны включить опцию " Слушать модули без публикации" (см. ниже, как это сделать)

это решение, которое я использую, и оно позволяет мне сразу же просматривать изменения в JSP без повторной публикации или чего-либо еще (в Tomcat 5.5 + обычный динамический веб-проект + JSP находится в каталоге WebContent), поэтому я не схожу с ума при разработке Java приложения:

как это сделать:

  • открыть представление "Сервер"
  • дважды щелкните на своем сервере, чтобы открыть настройки сервера.
  • в разделе "Публикация" (вверху справа) выберите параметр "Никогда публиковать автоматически" (как сказано в некоторых других ответах на ваш вопрос), чтобы избежать действия публикации при изменении чего-либо.
  • это ВАЖНО: в разделе "Параметры сервера" (внизу слева) выберите параметр "Подавать модули без публикации". теперь ваши изменения подбираются без повторного развертывания.

UPDATE: вы также должны убедиться, что библиотеки, на которые вы зависите (на вашем пути сборки), скопированы в WEB-INF/lib при разработке в Eclipse (сделайте это, выбрав соответствующие JAR/проекты в Java EE Module Dependencies в диалоговом окне "Настройки" вашего веб-проекта). со всеми этими настройками на месте tomcat будет запускать веб-приложение из вашего проекта рабочей области с помощью каталога WebContent в качестве корня веб-приложения.

пользоваться

Ответ 3

Вы можете отключить автоматическую публикацию в Eclipse, если вам нужно:

  • Откройте представление серверов.
  • Дважды щелкните на своем сервере в Посмотреть. это вызовет сервер Обзор страницы конфигурации.
  • Найдите раздел "Публикация" на (верхний правый угол).
  • Выберите "Никогда публиковать" автоматически ".

Это позволит избежать проблемы с публикацией после каждого сохранения. Однако при отключении вам придется вручную развертывать любое время, когда вы хотите, чтобы ваши изменения отображались на вашем сервере.

Ответ 4

Мой совет:

Убедитесь, что вы используете последнюю выпущенную версию Eclipse/WTP и Tomcat. Вы можете загрузить новые биты в отдельном месте и в рабочем пространстве. Не переходите к последнему и самому большому кандидату на веху/релизу... Я говорю о битах, которые вы можете получить из http://eclipse.org/downloads/..

Посмотрите, можете ли вы воспроизвести проблему с помощью простейшего динамического веб-проекта. Если можно, укажите ошибку с Eclipse.org. Если вы не можете воспроизвести проблему с помощью простейшего приложения, загрузите приложение в эту новую среду разработки и убедитесь, что это решает проблему. Если это не так, проблема может быть связана с вашим проектом.

Ответ 5

Это странно, это не то, что я испытываю. Я перепроверял это с помощью Eclipse IDE для разработчиков Java EE (Build id: 20090920-1017) и Tomcat 5.5.28 (а также Tomcat 6.0.28), и я не могу воспроизвести проблему:

  • изменение файла Java DOES перезагрузить контекст ~, но ~
  • изменение JSP делает НЕ перезагрузить контекст

(и это без изменения каких-либо конкретных настроек моих Tomcat серверов в Eclipse).

Проблема выглядит как-то связанная с вашим проектом или вашей машиной. Это происходит с любым проектом на вашем компьютере? Можете ли вы воспроизвести его на другой машине?