Горячее развертывание изменений разработки с Eclipse, Tomcat и Jetspeed
Я разрабатываю приложение портала Jetspeed, работающее на Tomcat, используя Eclipse IDE с плагином Sysdeo Tomcat для запуска отладки приложения, работающего в Tomcat/Jetspeed.
Мне было интересно, как включить горячее развертывание изменений разработки для этой среды? Кто-нибудь знает, как настроить веб-приложение портала Jetspeed для оперативного развертывания из Eclipse? Не могу найти какую-либо информацию в сети для горячего развертывания Jetspeed.
5 ответов
Я обычно создаю файл сборки ant, свободно основываясь на:
http://tomcat.apache.org/tomcat-6.0-doc/appdev/build.xml.txt
и используйте цели 'install'/'remove' для развертывания на удаленном коте
Подобный вопрос здесь: Удаленное развертывание веб-приложения Tomcat из Eclipse
Если вы говорите только о разработке на своем локальном компьютере - вам не нужен внешний плагин для затмения, он имеет встроенную поддержку Tomcat и горячее повторное развертывание.
Возможно, вы захотите взглянуть на Джребел. Я хотел посмотреть сам - Насколько я понимаю, jrebel позволяет вносить изменения в исходный код, а затем сразу же видеть результаты в реальной среде (например, tomcat) без повторного развертывания и / или перезапуска служб.
Очевидно, что это не решение для всех случаев, но простая символическая ссылка будет делать работу во многих случаях, даже в Windows XP или Windows 7, которые теперь позволяют создавать символические ссылки.
Мое решение изображено здесь
Вы можете использовать подключаемый модуль (в версии Java EE) "Серверы":
- Перейдите в Windows > "Установки"> "Сервер"> "Среды выполнения" и добавьте своего кота
- Либо попробуйте использовать
publishing
или используйте плагин FileSync. Там вы можете указать, какие папки из вашего проекта должны быть скопированы (в реальном времени) в какой каталог на вашей машине (tomcat/webapps/yourapp). Приложив немного больше усилий, можно синхронизировать конфигурацию файловой машины (используя только один параметр как TOMCAT_ROOT), если вы хотите зарегистрировать проект в репозитории, где его будут использовать другие. - Запустите ваш кот в режиме отладки, и у вас будет возможность горячего развертывания всего, что вы сохраните.
Я знаю, что использование плагина FileSync не является общепринятым, и publishing
это наиболее распространенный вариант, но FileSync дает вам дополнительную свободу в перестановке ваших классов и ресурсов.
Из вашего вопроса не совсем понятно, хотите ли вы развернуть свой проект портала Jetspeed или приложение с портлетами. Первое фактически является обычным веб-приложением и теоретически может быть развернуто в горячем режиме с помощью плагина Eclipse WTP. Если вы разрабатываете приложения с портлетами, это усложняется тем, что они развертываются не непосредственно в Tomcat, а в развертывании Jetspeed, работающем в Tomcat (фактическое /webapps/jetspeed-portal/WEB-INF/deploy).
Хитрость, которую я использовал, заключается в развертывании вашего приложения с помощью сценария сборки Maven. После этого вы можете скопировать изменения, сделанные tomcat, в ваш web.xml вашего портлета в ваш web.xml и развернуть его непосредственно из Eclipse.