Как вы разрабатываете приложения JSF? - PullRequest
4 голосов
/ 15 января 2009

Я впервые работаю над проектом, который требует создания веб-приложения, которое интенсивно использует JSF (и ICEfaces в частности). Существует множество вещей, которые нужно кодировать, включая CSS, HTML, JSP / Java и, конечно, JSF.

Я делаю все это в Eclipse, между прочим, и использую локальный сервер Tomcat, который Eclipse отвечает за запуск для запуска приложения.

Во всяком случае, я заметил, что все это довольно болезненно медленно. Когда я меняю одну часть JSF, мне нужно перезапустить веб-сервер, чтобы я мог просмотреть новые результаты. Часто мне просто интересно поиграть с макетом и 10-15 с лишним секунд, которые требуются для остановки, перезапуска, обновления сводят меня с ума. Я перезагружаю кота сто раз в день - аааа! Мне нужно быстрее сделать оборот!

Я что-то не так делаю? Это естественное состояние для всех вас, веб-разработчиков?

Ответы [ 8 ]

8 голосов
/ 15 января 2009

Я разрабатываю свои приложения в JSF с почти такой же конфигурацией (Tomcat 5.5 работает под моим Eclipse 3.3 с JBoss Tools). Я также использую Facelets для JSF, и в web.xml есть важный контекстный параметр, который я могу установить, чтобы иметь возможность изменять мои файлы XHTML с помощью автоматического обновления (т.е. мне не нужно перезапускать Tomcat, чтобы увидеть мой изменения). Итак, в моем web.xml у меня есть это:

<context-param>
    <param-name>javax.faces.FACELETS_REFRESH_PERIOD</param-name>
    <param-value>1</param-value>
</context-param>
3 голосов
/ 15 января 2009

Я разрабатываю приложение JSF с eclipse и maven. Оно автоматически перезагружается, когда в программу вносятся изменения, и вы сохраняете это изменение. При изменении любого файла конфигурации вам придется перезапускаться.

0 голосов
/ 14 августа 2009

Раньше у меня была такая же проблема. Быстрое решение для мгновенного повторного развертывания вашего кода с использованием JavaRevel (бесплатно для некоммерческого использования, стоит копейки, если вы хотите использовать его в своей компании) http://www.zeroturnaround.com/javarebel/

надеюсь, это поможет,

0 голосов
/ 15 мая 2009

Вам не нужно перезапускать Tomcat, чтобы увидеть ваши изменения. Просто скопируйте WAR в $ CATALINA_HOME / webapps, чтобы приложение было развернуто самостоятельно. Хотя это займет несколько секунд.

Существует несколько способов развертывания, см. Этот документ для Tomcat 6: http://www.mbaworld.com/docs/appdev/deployment.html

0 голосов
/ 14 мая 2009

Я сам разрабатывал JSF-страницы в Eclipse без каких-либо дизайнерских инструментов (они мне не нравятся). С помощью инструмента дизайнера сложно создать сложный макет пользовательского интерфейса - инструменты предназначены только для простых макетов. Когда у вас много DHTML, CSS, вы должны сами писать страницы.

О перезапуске сервера: если вы правильно настроите Tomcat, изменение страницы JSP не приведет к перезапуску сервера (горячее развертывание или что-то в этом роде). Если вы изменяете сигнатуры методов в bean-компонентах, конечно, вы должны перезапустить.

0 голосов
/ 07 апреля 2009

Я использую Jboss Developer Studio (v2.0), и мой проект настроен для горячего развертывания. Это означает, что у меня нет перезапуска для каких-либо изменений, кроме сущностей, EJB-компонентов и наборов сообщений. Идеально подходит для проектов POJO.

0 голосов
/ 18 февраля 2009

Если вы просто играете с CSS, тогда используйте что-то вроде Firebug , чтобы отредактировать его на месте, тогда, когда вы будете счастливы, вы можете скопировать и вставить все это в Eclipse. То же HTML; на самом деле, когда вы знаете, куда идут ваши компоненты JSF, просто создайте фиктивную страницу и отредактируйте ее в быстрой среде разработки веб-приложений .

Частые перезагрузки Tomcat обычно не нужны для веб-разработки:)

0 голосов
/ 18 февраля 2009

Вероятно, вы можете обойти это, по крайней мере, для битов макета / разметки, напрямую скопировав обновленные файлы разметки в соответствующий каталог веб-приложения.

Посмотрите на разобранный файл WAR и найдите, где находится ваш файл разметки. Вы можете изменить это напрямую или переместить туда обновленный файл. Браузер обновится позже, и ваша разметка должна быть изменена!

Вероятно, вы можете сделать это быстрее, добавив команду ANT для этого. Я работаю с Netbeans, и я не очень хорошо разбираюсь с ANT (и мои сроки не дают мне времени это выяснить), поэтому я сделал небольшой сценарий оболочки, который 'cp помещает все мои файлы в разнесенные каталоги WAR. 1005 *

Однако, если вы измените Java или файлы конфигурации, вам нужно будет повторно развернуть WAR. Я не уверен, какую версию Tomcat вы используете, но для этого на моем экземпляре Tomcat 6 простое перемещение файла WAR в каталог webapps заставит Tomcat поднять его и повторно развернуть.

Осторожно, хотя! Функциональность горячего развертывания Tomcat 6 работает нормально, но она не освобождает память PermGen, использованную предыдущим развертыванием правильно. Поэтому после нескольких «горячих» развертываний Tomcat начинает выдавать исключения «Ошибка PermGen: Недостаточно памяти», и вам остается только перезагрузиться.

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