Эти две настройки одинаковы в Maven? - PullRequest
5 голосов
/ 24 февраля 2010

Я хочу ограничить использование maven только частным / не общедоступным репозиторием maven, имеют ли эти две настройки одинаковый эффект?

1.Настройка зеркала в settings.xml

<mirrors>
        <mirror>
            <id>my-internal-site</id>
            <mirrorOf>*</mirrorOf>
            <name>our maven repository</name>
            <url>http://myserver/repository</url>
        </mirror>
    </mirrors>

2.Настройка репозитория в pom.xml

<repositories>
    <repository>
      <id>my-internal-site</id>
      <name>our maven repository</name>
      <url>http://myserver/repo</url>
    </repository>
  </repositories>

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

Ответы [ 2 ]

3 голосов
/ 24 февраля 2010

Нет, они не имеют одинакового эффекта.

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

Первый вынуждает Maven использовать один репозиторий, если он зеркально отображает все запросов к репозиторию (путем установки mirrorOf в *). Это способ использовать один репозиторий .

То, что вы ищете, таким образом, является первой настройкой и должно быть определено в settings.xml.

Теперь добавление вашего корпоративного репозитория в файл ~/.m2/settings.xml каждой машины может быть немного болезненным, и в корпоративной среде мне нравится распространять и устанавливать «настроенную» версию Maven, содержащую зеркало, предопределенное в conf/settings.xml. Таким образом, людям просто нужно установить «корпоративную» версию, и они готовы к работе.

0 голосов
/ 24 февраля 2010

Нет, они означают разные вещи:

В первом примере вы сказали, что данный репозиторий является зеркалом всех репозиториев, , включая официальный .

Во втором примере вы просто добавляете новый репозиторий. В случае, если зависимость не найдена в локальном хранилище, Maven будет искать в этом хранилище после , выполнив поиск в официальном хранилище.

Таким образом, чтобы принудительно использовать внутренний репозиторий, вы должны сконфигурировать mirror в вашем файле settings.xml.

Это объясняется в официальной документации Maven .

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