- PVSM.RU - https://www.pvsm.ru -
Очень часто вес приложения, которое мы выкладываем на сервер достигает неприлично больших размеров из-за включения в него всех нужных зависимостей. У меня в конечном итоге приложения занимают от 20 до 50 метров. Деплой таких war-ов на удаленный сервер, на Tomcat, дело не одной минуты, а при плохой связи и вовсе становится проблематичным. Класть библиотеки в ${tomcat.home}/lib дело очень неблагодарное и зачастую опасное. Мы на фирме немного погуглили и нашли очень приятное решение на DZone. Хочу с вами поделиться…
Сразу хочу сказать, что метод подходит прежде всего тем, кто разводит своих котов, а не пользуется услугами хостеров… хотя, тут все зависит какое
Один человек, некто Dapeng Liu, внимательно почитав документацию по API Tomcat, реализовал очень библиотечку, которую можно взять тут [2]. Фактически библиотека представляет из себя имплементацию загрузчика приложений для кота.
Как это работает:
<Context path="/testapp">
<Loader className='com.spiralcomms.tomcat.WebappLoader' />
<lib>spring_2.5.6</lib>
<lib>hibernate_3.3.0</lib>
</Context>
Таким образом приложения резко худеют с 20-50 метров до полутора — двух, что несказанно влияет на скорость его заливки на сервер.
Конечно, такой процесс накладывает ограничение на разработчика. При выкладывании приложений он должен знать — добавились ли какие-нибудь библиотеки в приложение, чтобы обновить репозитарий.
Лично меня метод очень выручает когда до сервера слабый канал и идет плотная работа с заказчиком на предмет правок приложения. Требуется вносить правки и выкладывать их на сервер до 20 раз на день.
P.S. Оригинал описания найденного решения можно почитать тут [3].
Автор: alexey_lahtadir
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/java/3606
Ссылки в тексте:
[1] хостер: https://www.reg.ru/?rlink=reflink-717
[2] тут: http://java.dzone.com/sites/all/files/com.spiralcomms.tomcat.WebappLoader_0.zip
[3] тут: http://java.dzone.com/articles/extending-tomcat-webapploader
Нажмите здесь для печати.