Как мне запретить Maven загружать maven-metadata.xml для артефакта, который у меня уже есть в моем репо?

Я использую Maven 3.2. У меня есть эта зависимость в моем файле pom.xml (проект WAR)

            <dependency>
                    <groupId>joda-time</groupId>
                    <artifactId>joda-time</artifactId>
                    <version>1.6.2</version>
                    <scope>provided</scope>
            </dependency>

Всякий раз, когда я запускаю какую-либо фазу для своего pom (например, «mvn install»), приложение всегда пытается загрузить некоторые метаданные о зависимости…

Downloading: http://repo.spring.io/milestone/joda-time/joda-time/maven-metadata.xml

Как мне сказать Maven прекратить это делать? У меня уже есть кешированный артефакт в моем локальном репозитории Maven.

Спасибо, - Дэйв


person Dave    schedule 24.10.2014    source источник
comment
Вы читали Введение в механизм зависимостей? Возможно, здесь применимы Transitive Dependencies.   -  person Gerold Broser    schedule 25.10.2014
comment
Или, может быть, это напоминает вам заглянуть в .xml, чтобы понять, что joda-time 1.6.2 четыре года назад, а последняя версия - 2.5. ;-)   -  person Gerold Broser    schedule 25.10.2014
comment
Проверьте свою конфигурацию для своих репозиториев и посмотрите, установлен ли каким-либо образом updatePolicy.   -  person khmarbaise    schedule 25.10.2014
comment
У меня нет настроек updatePolicy ни в одном из моих репозиториев. Кроме того, мне пришлось использовать более старое время joda-time, потому что это версия JBoss 7.1.3.Final.   -  person Dave    schedule 27.10.2014
comment
добавление конфигурации репозиториев (вероятно, из settings.xml) обязательно поможет устранить проблему.   -  person JBaruch    schedule 30.10.2014


Ответы (2)


Возможно, политики обновления нужно указать явно. См. Этот ответ: Почему Maven каждый раз загружает maven-metadata.xml? < / а>

<pluginRepositories>
<pluginRepository>
    <id>central</id>
    <url>http://gotoNexus</url>
    <snapshots>
        <enabled>true</enabled>
        <updatePolicy>daily</updatePolicy>
    </snapshots>
    <releases>
        <enabled>true</enabled>
        <updatePolicy>never</updatePolicy>
    </releases>
</pluginRepository>

person janDro    schedule 30.10.2014
comment
Что произойдет, если вы создадите два или более снимка в один и тот же день? - person рüффп; 09.10.2020
comment
В моем случае это не работает. У меня есть два репозитория в моем POM, первый из которых повторяет определение Maven Central из супер POM, чтобы его можно было найти первым (потому что репозитории, определенные в POM проекта, запрашиваются раньше, чем из супер POM). Тем не менее, несмотря на то, что Central содержит мои артефакты, они уже кэшированы локально, я настроил политику обновления так, чтобы никогда и даже не заменял свои диапазоны версий определенными версиями, метаданные из настраиваемого репозитория всегда загружаются. В моем settingsx.xml репозиториев нет. - person kriegaex; 08.05.2021
comment
Хорошо, это сработало. Поначалу я не осознавал того факта, что не в моем собственном POM были диапазоны версий, а в некоторых транзитивных. Мне пришлось исправить их версии в разделе dependencyManagement моего POM, и, наконец, Maven прекратил попытки загрузки файлов метаданных. Я пишу это для того, чтобы кто-нибудь попал в такую ​​же ситуацию, а не просто удалил мой предыдущий комментарий. - person kriegaex; 08.05.2021

Это означает, что где-то в вашем дереве зависимостей используется либо SNAPSHOT, либо диапазон версий (прямая или транзитивная зависимость). В обоих случаях решение одно и то же: привязать версию к конкретному выпуску. Вы заблокировали его как прямую зависимость или в dependencyManagement?

person Robert Scholte    schedule 01.11.2014
comment
В моем случае aws-java-sdk-core зависел от joda-time, который использовал диапазон версий. Исключение зависимости от aws-java-sdk-core и включение joda-time непосредственно в мой POM с заблокированной версией решило эту проблему. - person lucasweb; 28.07.2015
comment
В моем случае проблемой были транзитивные зависимости с диапазонами версий, см. Мои комментарии под принятым ответом. Спасибо за ваш ответ, это помогло мне разобраться в происходящем. - person kriegaex; 08.05.2021