Maven - Можно ли указать зеркало в pom.xml?

Можно ли указать зеркало в pom.xml? Например, я хочу сделать одно собственное репо, как центральное репо. И я хочу отключить запросы к центральному репо и сделать все запросы к моему собственному репо. Можно ли отключить стандартное центральное репо в Maven?

Ответы

Ответ 1

Лучшим решением для такого рода вещей является установка диспетчера хранилищ , который действует как "собственный центральный репозиторий".

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

Ответ 2

Это не имеет смысла. Файлы POM предназначены не только для создания проектов, но и для общих хранилищ. Теперь представьте, что ваш POM попадает на Maven Central. Что должно произойти, когда я добавляю ваш проект в зависимость от одного из моих проектов?

Лучшим решением является использование прокси-сервера Maven.

Ответ 3

зеркало не может быть в pom.xml. но его можно поставить в свой проект scm.

При использовании maven 3.3. 1+ используйте базовое расширение project-settings-extension для загрузки настроек проекта и поместите зеркала для конкретного проекта в ${basedir}/.mvn/settings.xml в вашем проекте.

в ${basedir}/.mvn/extensions.xml

    <extensions xmlns="http://maven.apache.org/EXTENSIONS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/EXTENSIONS/1.0.0 http://maven.apache.org/xsd/core-extensions-1.0.0.xsd">
      <extension>
        <groupId>com.github.gzm55.maven</groupId>
        <artifactId>project-settings-extension</artifactId>
        <version>0.1.1</version>
      </extension>
    </extensions>

в ${basedir}/.mvn/settings.xml

<settings>
  <mirrors>
    <mirror>
      <id>id</id>
      <url>https://url-for-this-project/</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
  </mirrors>
</settings>