Maven импортирует несколько банок в локальный репозиторий - PullRequest
0 голосов
/ 25 марта 2020

Я пытаюсь экспортировать в зависимости моего проекта, используя:

mvn dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -DoutputDirectory=c:\output

Результатом этого является подмножество моего локального репозитория maven, содержащее несколько jar-файлов, которые есть только у меня на моей машине.

Я пытаюсь поделиться этим подмножеством моего локального репозитория с моим коллегой.

Все, что я хочу, это отправить эту структуру папок, чтобы он мог импортировать ее в этот собственный локальный репозиторий maven maven.

Мы пытались скопировать эти папки в его собственный локальный репозиторий, зная, что это не сработает.

У меня есть вопрос, как сказать maven, чтобы "проиндексировать" эти файлы, которые были скопированы в каталог?

Рядом с этими файлами и внутри папок META-INF есть дескрипторы, которые заставляют меня поверить, что идентификаторы групп, идентификаторы артефактов и версии могут быть разрешены.

Есть ли решение или обходной путь? для этого?

Мы могли бы использовать mvn install: install-file для каждого отдельного jar, но их слишком много.

Большое спасибо, Питер

Ответы [ 2 ]

0 голосов
/ 25 марта 2020

Итак, у вашей проблемы есть два решения:

  1. Реальное и стандартное решение для обмена банками внутри компании - это установка сервера Nexus или Artifactory, на котором вы развертываете свои артефакты сборки. и который использует ваш коллега. На самом деле, если вы разрабатываете с Maven более двух человек в компании, я бы всегда создавал Nexus / Artifactory. Они бесплатны и просты в использовании.

  2. Если вы действительно хотите go продвинуться с вашим подходом, вы можете передать весь каталог своему коллеге. Затем вы можете поместить этот каталог в качестве хранилища в settings.xml и использовать его. Хранилища могут быть локальными каталогами, они не обязательно должны быть удаленными. См., Например, этот ответ { ссылка }

0 голосов
/ 25 марта 2020

Если вам нужен быстрый обходной путь, вы можете сделать копию всего своего хранилища, а затем удалить элементы, которые вы не хотите включать. Сожмите всю папку репозитория, обратите особое внимание на то, чтобы включить все скрытые файлы и отправьте ее.

Таким образом, вы включите не только метаинфо, которые находятся в папках jar, но также и другие метаинфо, которые распространяются в другие папки в репозитории.

Вашему коллеге нужно будет использовать этот репозиторий вместо своих (хотя я бы сделал резервную копию, пока двойная проверка не будет работать нормально). Этот способ должен работать. Зависимости, которые он имел в своем собственном репо, должны при необходимости автоматически загружаться снова, если у него есть доступ к удаленным репо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...