Как я останавливаю Знатока 2.x от попытки получить несуществующие файлы pom.xml для зависимостей каждая сборка?

В моем проекте существует много зависимостей, которые являются transitively, включенным от других зависимостей, которые не имеют в наличии файлы pom.xml ни в одном из наших корпоративных репозиториев. Это внутренние библиотеки только для банки, поддерживаемые различными командами, которые были загружены в репозитории для удобства от команд незнатока, однако эти репозитории являются, к сожалению, не моими для игры с.

Для этих зависимостей Знаток настаивает на том, чтобы пытаться получить англичан из каждого моего списка хранилищ каждый раз, когда я выполняю сборку, или mvn dependency:list. Это означает попытки знатока получить 8x, файлы англичанина от 7 различных местоположений хранилища, и, учитывая это по глобальному корпоративному WAN; это действительно медленно.

например, для одной особой зависимости

C:\Working\dev\workspace\project>mvn dependency:list
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'dependency'.
[INFO] ------------------------------------------------------------------------
[INFO] Building project
[INFO]    task-segment: [dependency:list]
[INFO] ------------------------------------------------------------------------
[WARNING] Unable to get resource 'aGroupId:anArtifactId:pom:4.0.14i' from repository inhouse (http://someRepo1/proximity/repository/inhouse): While configuring wagon for 'inhouse': Unable to apply wagon configuration.
Downloading: http://someRepo1/proximity/repository/extFree/aGroupId/anArtifactId/4.0.14i/anArtifactId-4.0.14i.pom
[INFO] Unable to find resource 'aGroupId:anArtifactId:pom:4.0.14i' in repository extFree (http://someRepo1/proximity/repository/extFree)
Downloading: http://someRepo1/proximity/repository/externalNonFree/aGroupId/anArtifactId/4.0.14i/anArtifactId-4.0.14i.pom
[INFO] Unable to find resource 'aGroupId:anArtifactId:pom:4.0.14i' in repository extNonFree (http://someRepo1/proximity/repository/externalNonFree)
Downloading: http://someRepo2/efs/dist/maven/maven2-repository/incr/common/lib/aGroupId/anArtifactId/4.0.14i/anArtifactId-4.0.14i.pom
[INFO] Unable to find resource 'aGroupId:anArtifactId:pom:4.0.14i' in repository efsRepo (http://someRepo2/efs/dist/maven/maven2-repository/incr/common/lib)
Downloading: http://someRepo2/efs/dist/btijava/maven2-repository/incr/common/lib/aGroupId/anArtifactId/4.0.14i/anArtifactId-4.0.14i.pom
[INFO] Unable to find resource 'aGroupId:anArtifactId:pom:4.0.14i' in repository efsBTI (http://someRepo2/efs/dist/btijava/maven2-repository/incr/common/lib)
Downloading: http://someRepo3/maven/aGroupId/anArtifactId/4.0.14i/anArtifactId-4.0.14i.pom
[INFO] Unable to find resource 'aGroupId:anArtifactId:pom:4.0.14i' in repository internal.repo (http://someRepo3/maven)
Downloading: http://repo1.maven.org/maven2/aGroupId/anArtifactId/4.0.14i/anArtifactId-4.0.14i.pom
[INFO] Unable to find resource 'aGroupId:anArtifactId:pom:4.0.14i' in repository central (http://repo1.maven.org/maven2)`
...
etc
...
[INFO] [dependency:list {execution: default-cli}]
[INFO]
[INFO] The following files have been resolved:
... etc
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 20 seconds
[INFO] Finished at: Tue Jan 26 15:01:48 CST 2010
[INFO] Final Memory: 31M/74M
[INFO] ------------------------------------------------------------------------

С другой стороны, для АНГЛИЧАН, которые просто недопустимы (более старый modelVersion или поврежденный/недопустимый XML, например) это просто проверяет мой локальный repo, жалуется, что это недопустимо и затем продолжается. Который прекрасен; по крайней мере, это не попробовало еще раз по WAN.

Существует ли путь (установка, переопределение, изменение конфигурации репозитория), я могу предотвратить преобразователь плагина/артефакта зависимости Знатока от повторной попытки определить местоположение пропавших АНГЛИЧАН, если это уже имеет файл банки в локальном repo?

Спецификации: Знаток 2.2.1 (определения плагина суперангличанина по умолчанию) JDK 1.6.0_18

10
задан Chad 26 January 2010 в 07:30
поделиться

3 ответа

Ответ PASCAL является правильным для двух местных обходных обстоятельств. Тем не менее, ваш лучший вариант - просить владельцев этих проектов создавать POMS для артефактов. Им не нужно быть сложным, простая альтернатива, которую Maven использует внутренне, будет работать:

<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>aGroupId</groupId>
  <artifactId>aArtifactId</artifactId>
  <version>4.0.14i</version>
</project>
9
ответ дан 3 December 2019 в 23:12
поделиться

Загрузка POM - это действительно центральная концепция в Maven для поддержки транзитивных зависимостей (фактически, зависимость не просто банка, см. 3.5.5. Управление зависимостью Maven для приятных деталей на это Я не знаю, сможете ли вы это помешать.

Конечно, правильная вещь, которую нужно сделать, чтобы исправить корневую причину проблемы. Но если вы не можете, возможно, вы можете запустить вашу сборку в автономном режиме (используя опцию -O ). Или, может быть, вы можете просто «устанавливать» артефакты в вашем локальном репозитории, используя Установить: Установить-файл и поручить плагину генерировать POM для них с использованием дополнения GeneratePOM дополнительный параметр (но это Очевидно, не «масштабируется» действительно хорошо).

4
ответ дан 3 December 2019 в 23:12
поделиться

Настройте репозиторий Nexus (или аналогичный) и загрузите туда артефакты. Nexus автоматически создаст базовые помы для артефактов, которые вы загружаете.

2
ответ дан 3 December 2019 в 23:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: