Обновление Force maven

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

По-видимому, в то же время мое интернет-соединение разбилось. Теперь я получаю:

Построить ошибки для комиксов; org.apache.maven.lifecycle.LifecycleExecutionException: Не удалось выполнить цель в проекте comicsTest: не удалось разрешить зависимости для проекта comicsTest: comicsTest: war: 0.0.1-SNAPSHOT: Не удалось разрешить следующие артефакты: org.springframework: spring -context: баночка: 3.0.5.RELEASE, org.hibernate: спящий режим-EntityManager: баночка: 3.6.0.Final, org.hibernate: спящий режим жилы: баночка: 3.6.0.Final, org.hibernate: спящий-Обще-аннотации: баночка: 3.2.0.Final, org.aspectj: aspectjweaver: баночка: 1.6.8, Обще-языки: обыкновенные-языки: баночка: 2.5,

mysql: mysql-connector-java: jar: 5.1.13: Не удалось передать org.springframework: spring -context: jar: 3.0.5.RELEASE из http://repo1.maven.org/maven2 был кэширован в локальном репозитории, разрешение не будет повторно загружено до тех пор, пока интервал обновления центрального элемента не истечет или не будет принудительно обновлено.

Исходная ошибка: Не удалось передать артефакт org.springframework: spring -context: jar: 3.0.5.RELEASE из центрального (http://repo1.maven.org/maven2): ответа не получено после 60000

И я понятия не имею, как заставить maven обновить?

Ответ 1

mvn clean install -U

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

Ответ 2

-U кажется, заставляет обновлять все зависимости.

Если вы хотите обновить отдельную зависимость без очистки или -U вы можете просто удалить ее из локального репозитория и затем собрать.

Пример ниже для обновления slf4j-api 1.7.1-SNAPSHOT:

rm -rf ~/.m2/repository/org/slf4j/slf4j-api/1.7.1-SNAPSHOT
mvn compile

Ответ 3

Если ваш локальный репозиторий каким-то образом отключен для выпускных банок, а не моментальных снимков (-U и --update-snapshots обновляет только моментальные снимки), вы можете очистить локальное репо, используя следующее:

 mvn dependency:purge-local-repository

Вероятно, вы захотите снова очистить и установить:

 mvn dependency:purge-local-repository clean install

Больше информации доступно на https://maven.apache.org/plugins/maven-dependency-plugin/examples/purging-local-repository.html

Ответ 4

Все ответы здесь не помогли мне. Я использовал метод молотка:

find ~/.m2/ -name "*.lastUpdated" | xargs rm

Это устранило проблему:-)

Ответ 5

Эффект можно эффективно выполнять с Eclipse IDE. Конечно, если вы используете его.

Project_Name->Maven->Update Project Configuration->Force Update of Snapshots/Releases

Ответ 6

На всякий случай кто-то хочет только обновить моментальные снимки проекта и не хочет устанавливать артефакт:

mvn dependency:resolve -U

Не забывайте о зависимостях reimport в вашей среде IDE. В IDEA вам нужно щелкнуть правой кнопкой мыши по файлу pom и выбрать Maven → Reimport

Ответ 7

Если вы не знаете, что находится в вашем локальном репозитории, я рекомендую запустить сборку с помощью опции:

-Dmaven.repo.local=localrepo

Таким образом, вы обеспечите создание чистой среды.

Ответ 8

В моем случае сначала я сделал:

mvn clean install -U

Тем не менее он показывал ту же ошибку, после чего я закрыл проект и снова открыл его. Наконец-то сработало.

Ответ 9

Если вы используете Eclipse IDE, тогда:

  • Выберите проект.
  • Нажмите Alt + F5, появится окно для обновления проекта Maven.

  • Проверьте - принудительное обновление снимков/выпусков и нажмите кнопку ОК.

При использовании Intellij IDE

  • перейти в настройки /Maven
  • установите флажок Всегда обновлять снимки

Ответ 10

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

Проблема: Я скопировал локальный репозиторий на другой компьютер, который не имеет никакого подключения к специальному репозиторию. Итак, maven попытался проверить артефакты против недопустимого репозитория.

Мое решение: Удалите файлы _maven.repositories.

Ответ 11

Это одна из самых неприятных вещей в Maven. Для меня происходит следующее: если я добавляю зависимость, запрашивающую больше зависимостей и все больше и больше, но имею медленное соединение, она швы останавливается во время загрузки и выключения времени. В то время как выбор времени для всех зависимостей, еще не выбранных, помечены владельцами мест в кэше .m2, и Maven не будет (никогда) не забрать его, если я не удалю запись владельца места из кеша (как указано другим), удалив ее.

Итак, насколько я вижу, Maven или более точный плагин Eclipse Maven имеет ошибку в этом отношении. Кто-то должен сообщить об этом.

Ответ 12

Вам нужно проверить файл settings.xml в каталоге <maven_home>/conf.

Ответ 13

У меня такая же ошибка с зависимостью android-maps-utils. Использование пакета aar type в разделе зависимости разрешает мою проблему. По умолчанию тип jar, поэтому можно проверить, какой тип зависимости загружается в репозиторий.

Ответ 14

Для исправления этой проблемы из Eclipse:

1) Добавьте зависимость ниже в Maven pom.xml и сохраните файл pom.xml.

<!-- https://mvnrepository.com/artifact/com.thoughtworks.xstream/xstream -->
<dependency>
    <groupId>com.thoughtworks.xstream</groupId>
    <artifactId>xstream</artifactId>
    <version>1.3.1</version>
</dependency>

2) Перейти к проекту → Maven → Обновить проект

выберите проект и нажмите "ОК".

3) Необязательный шаг, если он не разрешен до шага 2, то выполните шаг ниже, выполнив шаг-1

Перейти к проекту → Maven → Обновить проект → установите флажок "Принудительное обновление снимков/выпусков"

выберите проект и нажмите "ОК".

Ответ 15

Важно добавить, что основное отличие работы mvn с -U и без -U заключается в том, что -U переопределит ваши локальные банки SNAPSHOT с помощью удаленного Банки SNAPSHOT.

Локальные баннеры SNAPSHOT, созданные из локального mvn install, в случаях, когда у вас есть другие модули вашего proj, которые генерируют банки.

Ответ 16

-U используется для принудительного обновления maven Repo. использование

mvn -U clean install

Ответ 17

Я попробовал все ответы здесь, но ничего не получалось. Сначала перезагрузил мой компьютер, затем запустил mvn clean install -U. Это решило мою проблему.

Ответ 18

Maven выполняет загрузку всех зависимостей вашего проекта в локальный репозиторий (папка .m2). Из-за интернет-проблем с вашим локальным репо ваш проект сталкивается с проблемами. Я не уверен, поможет ли это вам наверняка или нет, но вы можете попробовать удалить все файлы в папке хранилища внутри папки .m2. Поскольку в локальном репо ничего не будет, maven будет вынужден снова загрузить зависимости, что приведет к обновлению. Как правило, папка .m2 находится по адресу c: users: [username] :. m2

Ответ 19

У меня была эта проблема по другой причине. Я отправился в репозиторий maven https://mvnrepository.com, ища последнюю версию ядра spring, которая в то время была 5.0.0.M3/Репозиторий показал мне эту запись для моего pom.xml:

<!-- https://mvnrepository.com/artifact/org.springframework/spring-core -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>5.0.0.M3</version>
</dependency>

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

Однако после многого избиения я увидел заметку чуть ниже xml, в которой говорилось: "Примечание: этот артефакт находится в публичном репозитории Alfresco ( https://artifacts.alfresco.com/nexus/content/repositories/public/)"

Таким образом, комментарий в XML полностью вводит в заблуждение. Ящик находится в другом архиве, поэтому Maven не смог его найти!

Ответ 20

Мы можем заставить последнее обновление релиза и репозитория снимков с помощью следующей команды:

mvn --update-snapshots clean install

Ответ 21

У меня была такая же ошибка и запущена mvn install -U, а затем работает mvn install.

Ответ 22

Я столкнулся с этим в последнее время и выполнил следующие исправления всех проблем

mvn -fae install

Ответ 23

mvn clean install -U не работает. Однако mvn -U clean, за которым следует mvn clean install.