Горячее развертывание изменений разработки с помощью Eclipse, Tomcat и Jetspeed

Я разрабатываю портальное приложение Jetspeed, работающее на Tomcat, с использованием Eclipse IDE с плагином запуска Sysdeo Tomcat, чтобы включить отладку приложения, работающего в Tomcat / Jetspeed.

Мне было интересно, как включить горячее развертывание изменений разработки для этой среды? Кто-нибудь знает, как настроить веб-приложение портала Jetspeed для горячего развертывания из Eclipse? Не могу найти в сети никакой информации о горячем развертывании Jetspeed.


person theringostarrs    schedule 24.11.2009    source источник


Ответы (5)


Обычно я создаю файл сборки муравья на основе:

http://tomcat.apache.org/tomcat-6.0-doc/appdev/build.xml.txt

и используйте цели 'install' / 'remove' для развертывания на удаленном tomcat

Аналогичный вопрос здесь: Удаленное развертывание веб-приложения Tomcat из Eclipse

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

person nos    schedule 24.11.2009

Возможно, вам стоит взглянуть на jrebel. Я хотел сам взглянуть - насколько я понимаю, jrebel позволяет вносить изменения в исходный код, а затем сразу же видеть результаты в реальной среде (например, tomcat) без повторного развертывания и / или перезапуска служб.

person Upgradingdave    schedule 01.12.2009

Из вашего вопроса не совсем понятно, хотите ли вы развернуть проект Jetspeed Portal или приложение с портлетами. Первое на самом деле является обычным веб-приложением и теоретически может быть развернуто в горячем режиме с помощью подключаемого модуля Eclipse WTP. Если вы разрабатываете приложения с портлетами, это сложнее, потому что они развертываются не в Tomcat напрямую, а в развертывании Jetspeed, запущенном в Tomcat (фактическое / webapps / jetspeed-portal / WEB-INF / deploy).

Уловка, которую я использовал, - это развертывание вашего приложения с помощью вашего сценария сборки Maven. После этого вы можете скопировать изменения, сделанные tomcat в ваш web.xml вашего портлета, в ваш web.xml и развернуть прямо из Eclipse.

person Martin Sturm    schedule 02.12.2009
comment
Я хочу развернуть через Jetspeed, так что да, это сложнее. Я рассмотрел попытку установить контекст 'docBase' отдельных приложений с портлетами на путь eclipse War, как вы могли бы сделать с обычным проектом Tomcat, но я не уверен, как это сделать с добавленным слоем Jetspeed. Любые идеи? - person theringostarrs; 03.12.2009
comment
Я не уверен, правильно ли я вас понял. Но когда вы развертываете приложение с портлетами с помощью каталога Jetspeed WEB-INF / deploy, все, что делает Jetspeed, - это добавляет некоторые данные в web.xml приложения с портлетами и развертывает его как новый файл WAR в каталоге Tomcat webapp. Сделав это один раз (без использования Eclipse), вы можете скопировать изменения web.xml, сделанные Jetspeed, и напрямую поместить их в web.xml вашего приложения с портлетами. Затем вы можете развернуть его с помощью Eclipse как обычное веб-приложение, в то время как Jetspeed по-прежнему видит его как приложение Portlet. - person Martin Sturm; 03.12.2009

Вы можете использовать встроенный (в версии Java EE) плагин Servers:

  1. Перейдите в Windows> Настройки> Сервер> Среда выполнения и добавьте свой tomcat.
  2. Попробуйте использовать publishing или используйте плагин FileSync. Здесь вы можете указать, какие папки из вашего проекта следует скопировать (в реальном времени) в какой каталог на вашем компьютере (tomcat / webapps / yourapp). Приложив немного больше усилий, конфигурацию filesync можно сделать машинно-независимой (используя только один параметр как TOMCAT_ROOT), если вы хотите зарегистрировать проект в репозитории, где его будут использовать другие.
  3. Запустите свой tomcat в режиме отладки, и у вас будет горячее развертывание всего, что вы сохраняете.

Я знаю, что использование подключаемого модуля FileSync не является общепринятым, и publishing является наиболее распространенным вариантом, но FileSync дает вам дополнительную свободу при перестановке классов и ресурсов.

person Bozho    schedule 01.12.2009

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

Мое решение изображено здесь

person Raul Luna    schedule 19.05.2014