Принудительное обновление maven
Я импортировал мой проект на другой компьютер, поэтому он начал скачать зависимости.
по-видимому, тем временем мое интернет-соединение разбилось. Теперь я получаю:
ошибки сборки для комиксов; org.апаш.знаток.жизненный цикл.LifecycleExecutionException:
Не удалось выполнить цель в проекте comicsTest: не удалось разрешить зависимости для проекта comicsTest: comicsTest: war: 0.0.1-SNAPSHOT:
Не удалось разрешить следующие артефакты:
орг.springframework: spring-контекст: jar: 3.0.5.ОСВОБОЖДАТЬ,
орг.спящий режим:спящий режим-через EntityManager:опарник:3.6.0.Окончательный,
орг.спящий режим:спящий режим-Основной:опарник:3.6.0.Окончательный,
орг.спящий режим:спящий режим-Коммонс-Примечания:опарник:3.2.0.Окончательный,
орг.aspectj: aspectjweaver:jar: 1.6.8,
commons-lang: commons-lang: jar: 2.5,
mysql: mysql-connector-java:jar: 5.1.13: сбой передачи org.springframework: spring-контекст: jar: 3.0.5.Освобождение от http://repo1.maven.org/maven2 был кэширован в локальное хранилище, разрешение не будет повторно подключено до тех пор, пока не истечет интервал обновления central или обновления не будут принудительными.
исходная ошибка: не удалось передать артефакт org.springframework: spring-контекст: jar: 3.0.5.Освободить от центрального (http://repo1.maven.org/maven2): ответ не получен после 60000
и я понятия не имею, как заставить maven обновить?
21 ответов:
mvn clean install -U
-Uозначает принудительное обновление снимок зависимостей. Зависимости выпуска не могут быть обновлены таким образом.
- U, похоже, принудительно обновляет все зависимости. Если вы хотите обновить одну зависимость без clean or-U, вы можете просто удалить ее из своего локального РЕПО, а затем построить. Пример ниже, если для обновления slf4j-api 1.7.1-SNAPSHOT:
rm -rf ~/.m2/repository/org/slf4j/slf4j-api/1.7.1-SNAPSHOT mvn compile
если ваш локальный репозиторий каким-то образом испорчен для выпуска банок, а не снимков (
-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
Вы можете сделать эффективно от
Eclipse IDE. Конечно, если вы используете его.Project_Name->Maven->Update Project Configuration->Force Update of Snapshots/Releases
все ответы здесь не работают для меня. Я использовал метод молотка:
find ~/.m2/ -name "*.lastUpdated" | xargs rmэто исправило проблему : -)
на всякий случай, если кто-то хочет только обновить зависимости моментальных снимков проекта и не хочет устанавливать артефакт:
mvn dependency:resolve -UНе забудьте повторно импортировать зависимости в IDE. В IDEA вам нужно щелкнуть правой кнопкой мыши на файле pom и выбрать Maven -> Reimport
Если вы не уверены, что находится внутри вашего локального репозитория, я рекомендую запустить сборку с опцией:
-Dmaven.repo.local=localrepoтаким образом, вы будете гарантировать, чтобы построить в среде чистой комнаты.
в моем случае сначала я сделал
mvn clean install -U
тем не менее он показывал ту же ошибку, тогда я закрыл проект, и agian снова открыл его.Наконец-то сработало.
У меня есть ошибка в другом контексте. Так что мое решение может быть полезно для других, кто натыкается на вопрос:
проблема: Я скопировал локальный репозиторий на другой компьютер, который не имеет подключения к специальному репозиторию. Поэтому maven попытался проверить артефакты против недопустимого репозитория.
мое решение: Удалите _maven.хранилищ файлов.
Это одна из самых раздражающих вещей о Maven. Для меня происходит следующее: Если я добавляю зависимость, запрашивающую больше зависимостей и больше и больше, но имеющую Медленное соединение, она швы останавливаются во время загрузки и тайм-аута. В то время как тайм-аут все еще не извлеченные зависимости помечены держателями мест в поле .M2 cache и Maven не будут (никогда) поднимать его, если я не удалю запись держателя места из кэша (как указано в другом), удалив ее.
Так как я смотрите его, Maven или более точно плагин Eclipse Maven имеет ошибку в отношении этого. Кто-то должен сообщить об этом.
У меня такая же ошибка с зависимостью android-maps-utils. Использование пакета типа aar в разделе зависимостей решает мою проблему. По умолчанию тип-jar, поэтому можно проверить, какой тип зависимости в репозитории загружается.
для устранения этой проблемы из 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
перейти к проекту >> Мэйвен >> обновление проекта >> проверить на обновления флажок силу Снимки / Релизы'
выберите проект и нажмите ОК.
важно добавить, что главное отличие работает
mvnС-U и без-U это-Uотменить местные банки моментальный снимок с банки, в том числе дистанционно.локальные банки моментальных снимков, созданные из локальных
mvn installв тех случаях, когда у вас есть другие модули вашего proj, которые генерируют банки.
Если вы используете Eclipse IDE затем :
- Выберите Проект.
нажмите alt+F5, появится окно для обновления проекта Maven.
проверка-принудительное обновление снимков / релизов и нажмите кнопку ОК.
У меня была эта проблема по другой причине. Я пошел в хранилище maven https://mvnrepository.com ищу последнюю версию spring core, которая на тот момент была 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>наивный дурак, что я, я предположил, что комментарий говорил мне, что jar находится в репозитории по умолчанию.
однако, после большого удара головой, я увидел записку чуть ниже xml-высказывания "Примечание: этот артефакт находится в открытом хранилище Alfresco (https://artifacts.alfresco.com/nexus/content/repositories/public/)"
таким образом, комментарий в XML полностью вводит в заблуждение. Банка находится в другом архиве, поэтому Maven не смог ее найти!
мы можем заставить получить последнее обновление выпуска и хранилища моментальных снимков с помощью следующей команды:
mvn --update-snapshots clean install
Comments