Импорт связанных / зависимых файлов jar Spring Boot (или другой платформы с открытым исходным кодом) в локальное хранилище артефактов

#maven #artifactory

#maven #artifactory

Вопрос:

Я настраиваю новый сервер артефактов.

У меня есть потребность, когда мой проект Maven Java не должен иметь какой-либо зависимости от удаленного репозитория, чтобы получить соответствующие файлы jar, настроенные в pom.xml . Например, файлы, связанные с Spring Boot.

Проект извлечет все связанные файлы jar из локального менеджера репозитория (Artifactory). Поэтому, если Интернет отключен или внешнее соединение недоступно, все файлы можно извлечь из локального репозитория Artifactory.

Как я могу добавить проекты с открытым исходным кодом, такие как Spring boot, в мое локальное репозиторий Artifactory. Я не хочу использовать виртуальный репозиторий, который указывает на внешний репозиторий maven и т. Д., Поскольку я не хочу никакой внешней зависимости.

Цель состоит в том, чтобы при выполнении сборки maven все связанные файлы jar (например, Spring Boot) были извлечены из локального репозитория артефактов.

Спасибо.

Ответ №1:

Рекомендуется использовать удаленные и виртуальные репозитории в Artifactory. При работе с удаленным репозиторием Artifactory будет локально кэшировать артефакты, которые были извлечены из внешнего репозитория. Это означает, что даже если удаленный репозиторий находится в автономном режиме, вы все равно можете получить кэшированные артефакты из Artifactory.
Использование виртуального репозитория позволяет вам объединять ваши локальные репозитории с удаленными репозиториями и указывать Maven на один URL-адрес репозитория.

Если вы всегда хотите работать только с локальными репозиториями, вы можете использовать один из 2 подходов:

  1. Кэширование артефактов в удаленном репозитории, копирование их в локальный репозиторий и сборка только с локальным репозиторием
  2. Загрузка / импорт зависимостей 3-й части в локальный репозиторий

В любом случае я бы объединил локальные репозитории в виртуальный, чтобы иметь один репозиторий для Maven.