Я импортировал уже работающий проект на другой компьютер, и он начал загружать зависимости.
Видимо, мое интернет-соединение оборвалось, и теперь я получаю следующее:
>Build errors for comics; org.apache.maven.lifecycle.LifecycleExecutionException:
Failed to execute goal on project comicsTest: Could not resolve dependencies for project comicsTest:comicsTest:war:0.0.1-SNAPSHOT:
The following artifacts could not be resolved:
org.springframework:spring-context:jar:3.0.5.RELEASE,
org.hibernate:hibernate-entitymanager:jar:3.6.0.Final,
org.hibernate:hibernate-core:jar:3.6.0.Final,
org.hibernate:hibernate-commons-annotations: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: Failure to transfer org.springframework:spring-context:jar:3.0.5.RELEASE from http://repo1.maven.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced.
>Original error: Could not transfer artifact org.springframework:spring-context:jar:3.0.5.RELEASE from central (http://repo1.maven.org/maven2): No response received after 60000
Как заставить maven обновить?
Ответы:
-U
означает принудительное обновление зависимостей моментального снимка . Зависимости релиза не могут быть обновлены таким образом.источник
Если ваш локальный репозиторий каким-то образом испорчен для выпусков jars, а не для моментальных снимков (
-U
и--update-snapshots
только для обновления моментальных снимков), вы можете очистить локальный репозиторий с помощью следующего:Вы, вероятно, затем хотите очистить и установить снова:
Много дополнительной информации доступно на https://maven.apache.org/plugins/maven-dependency-plugin/examples/purging-local-repository.html
источник
mvn dependency:purge-local-repository
, он просто заново загрузил все зависимости, что я и хотел-U
кажется, заставляет обновить все зависимости.Если вы хотите обновить отдельную зависимость без очистки или
-U
просто удалите ее из локального репозитория, а затем выполните сборку.Пример ниже для обновления
slf4j-api 1.7.1-SNAPSHOT
:источник
Все ответы здесь не сработали для меня. Я использовал метод молотка:
Это решило проблему :-)
источник
.m2
-директории с именем*.lastUpdated
find ~/.m2/ -name "*.lastUpdated" -delete
будет обходиться без опасностиxargs
илиrm
превышения некоторых ограничений (если найдено много файлов).Вы можете сделать эффективно из
Eclipse IDE
. Конечно, если вы используете его.источник
На всякий случай, если кто-то хочет только обновить зависимости снимка проекта и не хочет устанавливать артефакт:
Не забудьте повторно импортировать зависимости в вашей IDE. В IDEA вам нужно щелкнуть правой кнопкой мыши по файлу pom и выбрать Maven -> Reimport
источник
Если вы не уверены, что находится внутри вашего локального репозитория, я рекомендую запустить сборку с опцией:
Таким образом, вы гарантированно создадите условия для чистых помещений.
источник
В моем случае сначала я сделал:
Тем не менее он показывал ту же ошибку, после чего я закрыл проект и снова открыл его. Наконец-то сработало.
источник
Если вы используете eclipse IDE, тогда:
Нажмите Alt + F5, появится окно для обновления проекта Maven.
Проверьте - Принудительное обновление снимков / выпусков и нажмите ОК.
При использовании Intellij IDE
источник
Я использовал IntelliJ IDE, и у меня возникла похожая проблема, и для ее решения я щелкнул «Создать источники и обновить папки для всех проектов» на вкладке Maven.
источник
У меня ошибка в другом контексте. Таким образом, мое решение может быть полезным для тех, кто сталкивается с вопросом:
Проблема: я скопировал локальный репозиторий на другой компьютер, который не имеет связи со специальным репозиторием. Поэтому Maven попытался проверить артефакты на предмет неверного хранилища.
Мое решение: удалить файлы _maven.repositories.
источник
Это одна из самых раздражающих вещей в Maven. Для меня происходит следующее: если я добавляю зависимость, запрашивающую больше зависимостей и все больше и больше, но использую медленное соединение, она перестает работать во время загрузки и тайм-аута. Хотя время ожидания для всех зависимостей, которые еще не получены, помечаются заполнителями в кэше .m2, и Maven не будет (никогда) поднимать их, пока я не удалю запись заполнителя из кэша (как указано), удалив ее.
Насколько я понимаю, в Maven или, точнее, в плагине Eclipse Maven есть ошибка, связанная с этим. Кто-то должен сообщить об этом.
источник
Вам необходимо проверить файл settings.xml в
<maven_home>/conf
каталоге.источник
У меня та же ошибка с зависимостью android-maps-utils. Использование пакета типа aar в разделе зависимостей решит мою проблему. По умолчанию типом является jar, поэтому можно проверить, какой тип зависимости загружается в хранилище.
источник
Для исправления этой проблемы из Eclipse:
1) Добавьте нижеприведенную зависимость в Maven pom.xml и сохраните файл pom.xml.
2) Перейти к проекту >> Maven >> Обновить проект
выберите проект и нажмите ОК.
3) Необязательный шаг, если он не решен до шага 2, то выполните шаг ниже после выполнения шага 1
Перейти к проекту >> Maven >> Обновить проект >> установите флажок «Принудительное обновление снимков / выпусков»
выберите проект и нажмите ОК.
источник
Предыдущие версии maven не принудительно проверяли отсутствие выпусков при использовании -U с чистой установкой mvn, только снимки, хотя более новая версия поддерживает это.
Для тех, кто все еще борется с предыдущей версией, может быть полезно следующее:
В Windows:
В Linux:
Всякий раз, когда maven не может загрузить зависимости по какой-либо причине (возможность подключения / не существует и т. Д.), Он добавляет «.error = Не удалось передать артефакт» в файл dependency-name.lastUpdate в соответствующей папке в каталоге $ home / .m2. Удаление этих файлов заставит maven снова попытаться получить зависимости.
источник
Важно добавить, что основным отличием работы
mvn
с -U и без -U является то, что-U
они переопределяют ваши локальные файлы SNAPSHOT с помощью удаленных файлов SNAPSHOT.Локальные jar-файлы SNAPSHOT создаются локально
mvn install
в тех случаях, когда у вас есть другие модули вашего проекта, которые генерируют jar-файлы.источник
-U используется для принудительного обновления Maven Repo. использование
источник
Я попробовал все ответы здесь, но ничего не получалось. Сначала перезагрузил компьютер, затем запустился
mvn clean install -U
. Это решило мою проблему.источник
Maven выполняет загрузку всех зависимостей вашего проекта в локальное хранилище (папка .m2). Из-за интернет-проблем с вашим локальным репо ваш проект сталкивается с проблемами. Я не уверен, поможет ли это вам наверняка или нет, но вы можете попробовать удалить все файлы в папке хранилища внутри папки .m2. Поскольку в локальном репо ничего не будет, maven будет вынужден снова загрузить зависимости, что приведет к обновлению. Как правило, папка .m2 находится по адресу c: users: [username] :. m2
источник
У меня была эта проблема по другой причине. Я пошел в репозиторий maven https://mvnrepository.com в поисках последней версии ядра core, которая в то время была 5.0.0.M3 / В репозитории была показана эта запись для моего pom.xml:
Наивный дурак, что я, я предположил, что комментарий говорил мне, что банка находится в хранилище по умолчанию.
Тем не менее, после долгих ударов, я увидел заметку чуть ниже xml, в которой говорилось: «Примечание: этот артефакт находится в общедоступном репозитории Alfresco ( https://artifacts.alfresco.com/nexus/content/repositories/public/ ). "
Поэтому комментарий в XML полностью вводит в заблуждение. Баночка находится в другом архиве, поэтому Maven не смог ее найти!
источник
Мы можем принудительно получить последнее обновление релиза и репозитория моментальных снимков с помощью следующей команды:
источник
У меня была та же ошибка, и бег,
mvn install -U
а затем бегmvn install
работал на меня.источник
Я столкнулся с этим недавно, и запуск следующих исправил все проблемы
источник
-fae,--fail-at-end Only fail the build afterwards; allow all non-impacted builds to continue
Кажется странным способ исправления необновленных внешних зависимостей ..mvn clean install -U
не работает Однакоmvn -U clean
следует,mvn clean install
делает.источник