maven не может разрешить зависимость через мой локальный репозиторий Nexus - PullRequest
0 голосов
/ 11 ноября 2011

Я установил собственный репозиторий Sonatype Nexus и настроил maven для проверки моего локального Nexus вместо получения артефактов непосредственно из общедоступных репозиториев. http://www.sonatype.com/books/nexus-book/reference/config-sect-intro.html

Наш проект смог загрузить большинство артефактов, кроме одного, в центральном Maven.

Вот ошибка сборки: Не удалось выполнить цель для проекта shindig-gadgets: Не удалось разрешить зависимости для проекта org.apache.shindig: shindig-gadgets: jar: 3.0.0-SNAPSHOT: Не удалось найти артефакт com.ibm.icu:icu4j:jar:4.6 в связь (http://my_nexus_repository:8081/nexus/content/groups/public) -> [Помощь 1]

Я вижу, что icu4j-4.6.jar существует в центральном хранилище Maven. В моем локальном хранилище nexus его нет. Я вижу только icu4j-4.6.pom в моем локальном хранилище nexus.

Не похоже, что моя установка хранилища Nexus полностью нарушена. Проект maven успешно загрузил множество файлов jar из нескольких общедоступных репозиториев через мой локальный репозиторий nexus maven, за исключением icu4j-4.6.jar.

Я не понимаю, почему у меня проблема только с icu4j-4.6.jar. Будет ли он неправильно кэшироваться в моем локальном хранилище maven или nexus maven?
Если он был неправильно кэширован, как я могу очистить локальный репозиторий maven или nexus maven?

Подобная проблема описана в Отсутствует зависимость maven с помощью настройки nexus icu4j-4.6.jar не отображается в списке поиска. Только icu4j-4.6.pom появляется в списке поиска. Я не думаю, что это выпуск Snapshot VS Release, потому что icu4j-4.6.jar кажется выпуском jar.

Ответы [ 4 ]

0 голосов
/ 12 апреля 2018

Если рассматриваемый артефакт был должным образом кэширован из хранилища прокси, использование mvn -U решит проблему

Однако, если вы видите pom на вашем нексусе, это обычно происходит, когда артефакт из хранилища прокси не кэшируется должным образом. Способ исправить это

1) Перейдите к компоненту в хранилище прокси.

2) Сделайте недействительной кеш для хранилища и переиндексируйте хранилище Nexus.

3) запустить mvn clean -U

0 голосов
/ 12 ноября 2011

Возможно, вы не включили удаленную загрузку индекса из Maven Central. Это объясняет, почему в вашем локальном поиске появляется только файл POM (единственный файл, который был загружен через репозиторий).

Возможно, существует другая проблема, вызывающая сбой загрузки самой банки. Я полагаю, попробуйте решить одну проблему за раз: -)

0 голосов
/ 30 марта 2014

Попробуйте добавить -U к аргументам mvn, чтобы принудительно обновить локальный репозиторий.

Вы также можете иметь поврежденные метаданные в репо. В этом случае удалите этот артефакт из кэша репозитория и дайте ему обновиться.

0 голосов
/ 11 ноября 2011

Возможно ли, что репозиторий Nexus на какое-то время перестал отвечать? Вы можете попробовать mvn -X (или -d?), Чтобы получить подробную информацию о том, что происходит. Вы также можете попробовать настроить альтернативное репо.

...