Любой способ работы с 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).
Проблема выглядит как-то связанная с вашим проектом или вашей машиной. Это происходит с любым проектом на вашем компьютере? Можете ли вы воспроизвести его на другой машине?