Force maven update - PullRequest
       11

Force maven update

636 голосов
/ 15 января 2011

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

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

Ошибки сборки комиксов;org.apache.контекст: jar: 3.0.5.RELEASE, org.hibernate: hibernate-entitymanager: jar: 3.6.0.Final, org.hibernate: hibernate-core: jar: 3.6.0.аннотации: jar: 3.2.0. Final, org.aspectj: aspectjweaver: jar: 1.6.8, commons-lang: commons-lang: jar: 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 from central (http://repo1.maven.org/maven2): Нет ответа после 60000

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

Ответы [ 23 ]

1450 голосов
/ 14 марта 2012
mvn clean install -U

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

77 голосов
/ 11 марта 2013

-U, по-видимому, вызывает обновление всех зависимостей.

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

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

rm -rf ~/.m2/repository/org/slf4j/slf4j-api/1.7.1-SNAPSHOT
mvn compile
68 голосов
/ 26 ноября 2015

Если ваш локальный репозиторий каким-то образом испорчен для выпусков jar, а не для моментальных снимков (-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

45 голосов
/ 17 ноября 2014

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

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

Это решило проблему :-)

42 голосов
/ 06 февраля 2014

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

Project_Name->Maven->Update Project Configuration->Force Update of Snapshots/Releases
22 голосов
/ 05 июля 2017

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

mvn dependency:resolve -U

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

11 голосов
/ 24 мая 2013

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

-Dmaven.repo.local=localrepo

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

7 голосов
/ 22 июля 2014

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

2 голосов
/ 20 апреля 2015

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

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

2 голосов
/ 19 сентября 2018

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...