Вопрос о зеркалировании репозиториев Maven2 - PullRequest
0 голосов
/ 17 декабря 2009

Я установил репозиторий Maven 2 (вызов 'dev repository') с использованием Apache Archiva, в котором хранятся артефакты моих частных проектов.

Если я создаю артефакт своего собственного проекта, скажем, например, group1: cat, и Cat зависит от {group1: dog, commons: collection}. Group1: cat и group1: dog находятся в хранилище dev, а commons: сбор в центральном.

Теперь, когда я собираю group1: cat, maven будет извлекать group1: dog и commons: collection, проблема в том, что maven всегда будет искать и в репозитории dev, и в центральном репозитории, чтобы найти зависимости, но мне нужен поиск по group1 : dog только в репозиториях dev, и search commons: коллекция только в центральных репозиториях. У меня есть центральные зеркала, скажем, central-mirror1 и central-mirror2, так как настроить maven таким образом, чтобы он осуществлял поиск по общим ресурсам: collection в центральном репозитории по умолчанию, central-mirror-1,2 и т. Д. И вообще не мешал моим репозиториям dev

Ответы [ 2 ]

1 голос
/ 17 декабря 2009

(...) что я хочу, так это поиск group1: собака только в репозиториях dev, и поиск общих: сбор только в центральных репозиториях.

Я не знаю, как этого добиться, и я не думаю, что это возможно. Как мог maven узнать об «исходном» хранилище для данного артефакта?

Но на самом деле, почему бы вам не заставить все пройти через Archiva? Какой смысл не использовать Archiva для всех запросов? Если вы не хотите, чтобы maven проверял оба хранилища на наличие ваших зависимостей, это кажется довольно очевидным решением. Более того, люди обычно не хотят напрямую полагаться на центральное в корпоративной среде (например, если оно выходит из строя, вы больше не можете работать). Нет, правда, я не понимаю.

Итак, я бы просто объявил Archiva как mirrorOf все репозитории, например:

<settings>
  ...
  <mirrors>
    <mirror>
      <id>internal-repository</id>
      <name>Maven Repository Manager running on repo.mycompany.com</name>
      <url>http://repo.mycompany.com/proxy</url>
      <mirrorOf>*</mirrorOf>
    </mirror>
  </mirrors>
  ...
</settings>
1 голос
/ 17 декабря 2009

Моя установка использует мой локальный экземпляр Archiva для proxy central (и других сторонних репозиториев). В моем супер-помпе я изменил свои репозитории, чтобы они указывали только на мою локальную Архиву, а не на центральный поиск вообще. Все приходит через мой локальный прокси.

Это не совсем то, что вы просите, но я думаю, что это подходящая настройка.

Затем вы можете использовать черные / белые списки Archiva, чтобы указать, где искать вещи.

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