2015-03-03 6 views
1

У меня есть несколько зависимостей maven (около 20+ банок), установленных на моей машине разработки по умолчанию (~/.m2). Я хочу, чтобы все эти зависимости были доступны в уже существующей папке зависимостей (скажем, mvn_d) на моем сервере.Корабль maven зависимости между машинами

Как развернуть новую пригоршню с моей локальной машины-разработчика на серверный код? У меня есть два пути. Как с некоторыми ограничениями, кто-то может рекомендовать лучше.

  1. Извлеките все зависимости и scp, затем перейдите на сервер и разложите место соответственно. Из-за текущей настройки, я должен сделать chown и всю работу, и я нашел это немного грязным для меня.
  2. Получите файл pom и загрузите его с помощью maven. Снова он будет загружаться в своих собственных структурах, создавая вложенные папки, поэтому мне снова нужно скопировать все банки в нужную папку.

В обоих случаях разработчик обрабатывает доставку. Я считаю, что в инструменте должен быть лучший способ, который будет реализован и широко используется как maven. Обратите внимание: я не хочу, чтобы моя развернутая фляга была заполнена добавлением всех зависимостей, встроенных в банку моментальных снимков. Я хочу, чтобы они были в каталоге, предназначенном для баннеров на моем сервере.

EDIT: Столько хороших ответов, но я мог выбрать только. Я рассмотрю Artifactory, чтобы решить эту проблему для всех.

+1

Если возможно, вы можете сделать этот сервер удаленным репозиторием, позволяющим maven развертываться в этом удаленном репозитории ('mvn install' будет« устанавливать »результирующий артефакт в вашем локальном репозитории Maven -« .m2 »-папка,' mvn deploy 'попытается развернуть один и тот же артефакт в определенный удаленный репозиторий - который вы можете настроить (к сожалению, я никогда не делал этого сам) – JBA

ответ

1

Вы можете использовать команду Maven Deploy для развертывания баночки в удаленном хранилище (по одному).

Формат команды:

 
mvn deploy:deploy-file -DgroupId= \ 
    -DartifactId= \ 
    -Dversion= \ 
    -Dpackaging= \ 
    -Dfile= \ 
    -DrepositoryId= \ 
    -Durl= 

Иначе, если вы используете Nexus или Artifactory, если у вас есть права администратора, то вы можете загрузить их вручную через веб-страницы.

2

Я бы предложил начать использовать диспетчер хранилища, и все ваши проблемы решены. Или Nexus, Artifactory или Archiva.

Смежные вопросы