До сих пор мы использовали муравья в моей компании. Когда бы мы ни захотели отправить приложение клиенту, мы запускаем специальный скрипт Ant, который упаковывает весь наш исходный код со всеми библиотеками jar и самим Ant вместе с простым пакетным файлом.
Затем клиент может поместить файлы на компьютер без доступа к сети вообще (и даже не с Ant) и запустить пакетный файл. Пока на компьютере установлен допустимый JDK, пакетный скрипт будет компилировать весь код с использованием jar-файлов и создавать WAR / EAR, который в конечном итоге будет развернут клиентом на сервере приложений.
В последнее время мы мигрировали в Maven 2. Но я не нашел способа сделать то же самое. Я видел сборочный плагин Maven, но он просто создает исходные или двоичные дистрибутивы. Наш сценарий на самом деле представляет собой смесь, поскольку он содержит наш исходный код, но двоичные файлы библиотек, которые мы используем (например, Spring, Hibernate)
Так возможно ли с Maven создать автономную сборку / выпуск / пакет, который можно запускать на компьютере без доступа к сети вообще ??? Это означает, что все библиотеки должны содержаться внутри.
Дополнительный бонус, если внутри находится сам Maven, но это не является строгим требованием. Окончательный пакет должен быть легко скомпилирован одной командой (легко для системного администратора).
Я думал написать собственный плагин Maven для этого, но подозреваю, что кто-то уже сталкивался с этим.