Можно ли ускорить загрузку артефактов maven? - PullRequest
14 голосов
/ 02 апреля 2012

К сожалению, первоначальная сборка maven очень медленная из-за загрузки артефактов
F.E. Я пытался скачать тот же банку с помощью curl - это в 3 раза быстрее !!!
Зачем? И как я могу ускорить это? Может быть, у maven есть некоторые ключи конфигурации, связанные со скоростью загрузки артефактов?

Спасибо.

Ответы [ 4 ]

8 голосов
/ 02 апреля 2012

Используйте локальный менеджер репозитория / зеркало / прокси.Тогда все загрузки будут идти против этого вместо общедоступных репозиториев в Интернете.Самые популярные из них:

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

2 голосов
/ 02 апреля 2012

Лучшая оптимизация - избегать загрузки. Посмотрите на вашу settings.xml конфигурацию maven и проверьте, установлен ли флаг updatePolicy «ежедневно» на выпусках и снимках, Это должно быть по умолчанию, но иногда оно может быть установлено на «всегда» - например, в конфигурациях менеджера репозитория.

Внимание: в этом случае ( ежедневно ) вы должны быть осторожны с изменениями моментальных снимков, которые могут быть получены не сразу.

Я знаю, что это не прямой ответ на ваш вопрос, а лучшая мавенская оптимизация загрузки, которую я знаю.

2 голосов
/ 02 апреля 2012

Вы можете скачать артефакт с помощью curl (если вы считаете, что это быстрее) и установить его в свой репозиторий maven с помощью следующей команды:

mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> \
    -DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>

http://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html

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

Кроме того, если центральный сайт хранилища maven работает медленнее, рассмотрите возможность использования зеркал репозитория Maven.

Руководство по настройке зеркал - http://maven.apache.org/guides/mini/guide-mirror-settings.html

1 голос
/ 18 июня 2019

Я знаю, это старый вопрос, но наткнулся здесь от Google. У меня уже был прокси, просто нужно было ускорить одновременную загрузку. Вы можете использовать опцию mvn:

-Dmaven.artifact.threads=30

Источник: https://maven.apache.org/guides/mini/guide-configuring-maven.html

Configuring Parallel Artifact Resolution
By default, Maven 2.1.0+ will download up to 5 artifacts (from different groups) at once. To change the size of the thread pool, start Maven using -Dmaven.artifact.threads. For example, to only download single artifacts at a time:

mvn -Dmaven.artifact.threads=1 verify
You may wish to set this option permanently, in which case you can use the MAVEN_OPTS environment variable. For example:

export MAVEN_OPTS=-Dmaven.artifact.threads=3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...