2009-06-04 2 views
3

Есть ли способ ускорить разработку JSF в Eclipse и Tomcat?Ускорение разработки Eclipse и JSF + Tomcat

В основном я ищу способ сделать изменения на стороне клиента (.jsf, .html, .css, .js) намного быстрее и без перезапуска tomcat.

И, если возможно, также можно сделать tomcat (или любой другой совместимый с Windows + Eclipse сервлет-контейнер), перезапустите намного быстрее.

Потому что, если сравнивать с моим опытом работы с ASP.NET/Visual Studio/IIS, мне кажется, что я провожу половину дня, ожидая перезагрузки Tomcat, а иногда даже получаю 404 в браузере, поскольку это не достаточно быстро.

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

+0

Вы используете Maven в своем проекте? –

ответ

0

Быстрый и грязный способ заставить Tomcat перекомпилировать/перезагрузить страницы, чтобы удалить рабочий каталог Tomcat. В моем ограниченном тестировании он отлично работает, но, очевидно, я бы не рекомендовал это в производстве. :)

0

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

У Oracle JDeveloper была копия OC4J в комплекте, и было возможно вносить изменения «на лету» без перезапуска контейнера, опять же это может быть невозможно, учитывая вашу среду.

2

Только в случае, если вы используете Maven для создания проекта, вы можете использовать эту команду для тестирования в Tomcat:

mvn clean war:exploded tomcat:run 

Это будет работать тонкого экземпляра Tomcat (кота: запустить) (.jsp, .html, .css, .js) непосредственно из источника, который вы редактируете (war: exploded), поэтому вы просто нажмете F5 в своем браузере

0

Если я не ошибаюсь, вы можете просто скопировать изменения на стороне клиента (. jsf, .html, .css, .js) в папку webapps вашего приложения, пока он запущен. Версия jboss J2EE для Eclipse, которую я использую, позволяет горячую замену некоторого java-кода.

+0

Я запускаю приложение непосредственно из Eclipse (обычный, Ganymede), поэтому для меня нет папки webapps. Будет ли способ настроить папку webapps равным папке Eclipse? В IIS я могу настроить Visual Directory в моей папке dev, поскольку изменения на стороне клиента будут * действительно быстрыми (даже не скопированными!), Поскольку они уже существуют). –

0

Вы можете использовать какой-либо другой контейнер, а не tomcat, который не нужно перезапускать, когда вы вносите некоторые изменения в свой проект. Это может быть Jboss. Также, если вы будете использовать некоторые инструменты, например JBoss Tools, вы будете развиваться намного быстрее и проще :-) Что касается меня, когда вы вносите изменения только на .css или .xhtml страницу, вам не следует перезапускать tomcat, вы должны просто переиздавать вы приложение. В JBoss Tools вы можете сделать это с помощью просмотра сервера JBoss Tools.

+0

Это всего лишь вопрос конфигурации. Он отлично работает с Tomcat и другими достойными серверами приложений, вам просто нужно установить для autodeploy/hotdeploy значение true. – BalusC

0

Вы должны использовать динамические веб-проекты и сообщить Eclipse Java EE для развертывания в подходящий экземпляр Tomcat. Это позволит Eclipse помогать всем, что может (но это все еще не пылает скорость).

0

положите это в свой web.xml.

<context-param> 
    <param-name>facelets.REFRESH_PERIOD</param-name> 
    <param-value>1</param-value> 
</context-param> 

Это означает: «как часто сервер приложений будет перекомпилировать мой JSP». Значение находится в секундах.

+0

Хотя эффект тот же, ваше объяснение неверно. Facelets не файлы JSP и Facelets не скомпилированы. – BalusC

+0

Спасибо за разъяснение. – Mat

Смежные вопросы