В нашем магазине мы поддерживаем около 20 веб-приложений Java EE. Большинство этих приложений в своей архитектуре довольно CRUD-подобны, а некоторые из них являются приложениями для вычислений, требующих значительных ресурсов процессора.
Для развертывания этих приложений мы использовали Hudson, настроенный для мониторинга нашего хранилища CVS. Когда у нас будет регистрация, проекты будут скомпилированы и развернуты на нашем сервере Tomcat 6.0 ( Solaris 10, двухъядерный процессор Sparc с частотой 1,6 ГГц, 2 ГБ ОЗУ ... не самая мощная машина на всех этапах. воображения ... ) и, если существуют какие-либо юнит-тесты для проекта, они выполняются, и проект развертывается только в случае прохождения юнит-тестов. Это прекрасно работает.
Теперь со временем я заметил, что во многих создаваемых мною проектах снова и снова используются одни и те же файлы .jar (Hibernate, POI (вывод в Excel), драйвер JDBC для SQL Server, JSF, ICEFaces, бизнес. логические файлы .jar и т. д.). Наша практика состояла в том, чтобы просто сохранить папку на нашем сетевом диске со всеми используемыми по умолчанию файлами .jar, которые мы использовали, и при запуске нового проекта мы копируем этот набор файлов .jar в новый проект и идем оттуда. ... и я чувствую себя таким грязным каждый раз, когда это случается, это начинает держать меня ночью. Мои коллеги сказали мне, что «чрезвычайно сложно» создать репозиторий .jar на сервере tomcat, который я не покупаю ни на секунду ... Я приписываю это чистой лени и, возможно, нет желания изучать лучшие практики. Я могу ошибаться, однако, я просто излагаю свои чувства по этому вопросу. Похоже, это увеличивает размер наших .war-файлов, которые также развертываются на сервере.
Насколько я понимаю, сам Tomcat имеет набор файлов .jar, которые доступны всем развернутым в нем приложениям, поэтому я думаю, что мы сможем объединить все эти дубликаты файлов .jar во всех наших проектах и переместить их. на сервер Tomcat. Для этого потребуется обновить только один файл .jar на сервере, если, например, нам нужно обновить файлы .jar ICEFaces до новой версии.
Другая часть меня говорит, что, включив только одну копию файлов .jar на сервере, мне может понадобиться сохранить копию каталога lib сервера в моей среде разработки (т.е. включить эти файлы .jar в eclipse зависимость).
Мой инстинкт инстинктивности говорит мне, что я хочу переместить эти дубликаты .jar-файлов на сервер ... будет ли это работать?