2016-05-24 5 views
7

Я запускаю maven build, и я вижу тот же артефакт, загруженный несколько раз. После успешной загрузки с одного репо попытка загрузки с другого репо. Некоторые загрузки (0 B при 0.0 KB/sec).Почему maven загружает один и тот же артефакт несколько раз?

[INFO] Downloading: https://p-nexus.mycompany.com/nexus/content/repositories/Myproject-group/aopalliance/aopalliance/1.0/aopalliance-1.0.jar 
[INFO] Downloaded: https://p-nexus.mycompany.com/nexus/content/repositories/Myproject-group/aopalliance/aopalliance/1.0/aopalliance-1.0.jar (5 KB at 59.8 KB/sec) 
[INFO] Downloading: https://p-nexus.mycompany.com/nexus/content/repositories/public/aopalliance/aopalliance/1.0/aopalliance-1.0.jar 
[INFO] Downloaded: https://p-nexus.mycompany.com/nexus/content/repositories/public/aopalliance/aopalliance/1.0/aopalliance-1.0.jar (0 B at 0.0 KB/sec) 
[INFO] Downloading: http://repo.spring.io/ext-release-local/aopalliance/aopalliance/1.0/aopalliance-1.0.jar 
[INFO] Downloading: http://repo.spring.io/milestone/aopalliance/aopalliance/1.0/aopalliance-1.0.jar 
[INFO] Downloading: http://repo.spring.io/snapshot/aopalliance/aopalliance/1.0/aopalliance-1.0.jar 

Конфигурация репозитория:

<repositories> 
    <repository> 
     <id>Myproject-group</id> 
     <name>Myproject-group</name> 
     <layout>default</layout> 
     <url>https://p-nexus.mycompany.com/nexus/content/repositories/Myproject-group/</url> 
     <snapshots> 
      <enabled>false</enabled> 
      <updatePolicy>never</updatePolicy> 
     </snapshots> 
     <releases> 
      <enabled>true</enabled> 
      <updatePolicy>never</updatePolicy> 
     </releases> 
    </repository> 
</repositories> 
+0

Непонятно, что репозитории 'updatePolicy'' snapshots' установлены на 'never'. Это никогда не приведет к каким-либо изменениям, кроме первой загруженной версии артефакта моментальных снимков. То, что вы делаете, будет иметь смысл только в том случае, если группа, которую вы используете, содержит только релиз-репозитории. – carlspring

+0

carlspring, этот репозиторий не содержит моментальных снимков. Я считаю, что updatePolicy здесь лишний, я просто добавил все настройки, которые могут повлиять на эту загрузку. –

+1

Настройте правильный репозиторий nexus (используйте одну группу) и используйте только одну группу в файле settings.xml ... – khmarbaise

ответ

3

Вы можете заставить Maven использовать один репозиторий, поскольку он зеркалирует все запросы репозитория. Репозиторий должен содержать все необходимые артефакты или иметь возможность проксировать запросы к другим репозиториям. Этот параметр наиболее полезен при использовании внутреннего репозитория компании с Maven Repository Manager для прокси-внешних запросов.

Для этого установите mirrorOf в положение *.

<settings> 
    ... 
    <mirrors> 
    <mirror> 
     <id>internal-repository</id> 
     <name>Maven Repository Manager running on repo.mycompany.com</name> 
     <url>http://repo.mycompany.com/proxy</url> 
     <mirrorOf>*</mirrorOf> 
    </mirror> 
    </mirrors> 
    ... 
</settings> 
более

детали here

надеюсь, что это помогает.

+1

Это, наверное, лучший способ избавиться от проблемы, хотя я не понимаю, почему это происходит в первую очередь. –

1

Это не загружая его несколько раз. Он не может найти его в первом репозитории, поэтому он пытается использовать следующий список <repositories/>.

+1

Но 1) есть артефакт и 2) Почему это скачано Скачано для репозитория с артефактом а не для других? –

+0

КОРРЕКЦИЯ: этот журнал был взят из сборки с maven 2.2.x, это может быть причиной всей проблемы. –

+0

Почему downvote? У нисходящего избирателя: Пожалуйста, объясните. – carlspring

2

Если вы посмотрите информацию о журнале, вы увидите, что она не загружалась несколько раз.

[INFO] Downloaded: https://p-nexus.mycompany.com/nexus/content/repositories/Myproject-group/aopalliance/aopalliance/1.0/aopalliance-1.0.jar (5 KB at 59.8 KB/sec) 

[INFO] Downloaded: https://p-nexus.mycompany.com/nexus/content/repositories/public/aopalliance/aopalliance/1.0/aopalliance-1.0.jar (0 B at 0.0 KB/sec) 

Как вы можете видеть, что их пути различны, даже если баночка файлы одинаковы, и в конце второго INFO, это говорит 0 B at 0.0 KB/sec, что означает, что он не был загружен.

+0

Спасибо, я не заметил этого, и это, вероятно, ключ к объяснению. Это все тот же артефакт, и он был загружен один раз, так почему вторая попытка? –

Смежные вопросы