Этот вопрос чем-то похож на этот Лучший способ развернуть большой * .war на tomcat , так что сначала это хорошее чтение, но продолжайте читать мой q, в конце он другой ...
Используя maven 2, мои военные файлы ужасно велики (60M).Я развертываю их на нескольких серверах Tomcat, и просто копирование файлов занимает слишком много времени (примерно 1 м на войну).
Кроме того, я добавил слой RPM, который упакует войну в файл RPM.(используя плагин Maven RPM).Когда RPM будет выполнен на целевом компьютере, он очистит, «установит» войну (просто скопирует ее), остановит и запустит tomcat (так мы делаем здесь, без горячего развертывания) и создаст соответствующий файл контекста вместо.Все это прекрасно работает.
Проблема, однако, заключается в том, что файлы RPM слишком велики и медленно копируются.Естественно, то, что занимает почти все пространство, - это файл военных действий.
Я не видел ни одного готового решения, поэтому я думаю о его реализации самостоятельно, поэтому я опишу его ниже, и это описание будетнадеюсь, помогите объяснить проблему домена.Я буду рад услышать ваши мысли о планируемом решении, а еще лучше указать мне на другие существующие решения и случайные советы.
Файлы военных действий содержат:
- Приложений jar
- сторонние файлы jar
- ресурсы (файлы свойств и другие ресурсы)
- Файлы WEB-INF, такие как JSP, web.xml, struts.xml и т. Д.
Большую часть пространства занимают сторонние банки №2.
Банки сторонних производителей также устанавливаются на внутренний сервер Nexus, который есть в нашей компании, поэтому я могу воспользоваться этим.
Вы, наверное, уже догадались, поэтому планируется создать «тонкие войны», в которые войдут только файлы приложений (созданные моей компанией), ресурсы и материалы WEB-INF, и добавьте интеллектуальность в сценарий установки RPM, который 'При необходимости скопирую сторонние jar-файлы.
RPM позволяет запускать произвольные сценарии до или после установки, поэтому планируется использовать mvn, написать список сторонних зависимостей при сборке войны и добавить егоs ресурс для RPM, а затем при установке RPM скрипт установки RPM будет запускать список необходимых сторонних jar-файлов и загружать новые jar-файлы из nexus, только если они еще не существуют.
RPM придется удалитьбанки, если они не используются.
RPM также придется либо перестроить войну для Tomcat, чтобы взорвать ее, либо добавить сторонние банки в Common / lib или что-то в этом роде, хотя у нас есть несколько веб-приложений на одного кота, такэто усложнит ситуацию в этом смысле.Может быть, взорвать банку самостоятельно, а затем скопировать сторонние банки в WEB-INF / lib
Ваш вклад приветствуется:)