Maven игнорировать пользовательский локальный репозиторий - PullRequest
0 голосов
/ 23 апреля 2020

Я пытаюсь запустить свои тесты в среде без соединения rnet. Для этого мне нужно сохранить свои зависимости в каталоге проекта и указать Maven для этого хранилища.

Я копирую папку хранилища из .m2 в проект, пишу:

<repositories>
    <repository>
        <id>project-repository</id>
        <url>file:${project.basedir}/repository</url>
        <releases>
            <checksumPolicy>ignore</checksumPolicy>
            <enabled>true</enabled>
        </releases>
    </repository>
</repositories>

и надеюсь что maven будет игнорировать локальный репозиторий m2. Но когда я удаляю все зависимости из m2, maven все равно загружает их из Inte rnet. Если я отключился - maven игнорирует локальный репозиторий и не запускается.

Could not transfer artifact org.apache.maven.plugins:maven-clean-plugin:pom:2.5 from/to central (https://repo.maven.apache.org/maven2): repo.maven.apache.org: nodename nor servname provided, or not known

Как я могу указать maven работать только из внутреннего репозитория? Без пользовательской настройки. xml, только для * .pom.

1 Ответ

0 голосов
/ 23 апреля 2020

Maven использует значения из settings.xml в {M2_HOME}\conf\settings.xml.

Проблема в том, что settings.xml позволяет переопределять определения в pom.xml, а не наоборот. Таким образом, вы можете переопределить тег <localRepository> в settings.xml, подробнее об этом здесь . Также Этот ответ в другом потоке объясняет почему.

Другой вариант - установить локальный репозиторий maven в командной строке:

mvn clean install -Dmaven.repo.local=repository
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...