#maven #artifactory
#eclipse #maven
Вопрос:
Я пытаюсь настроить проект с помощью Maven (m2eclipse), но я получаю эту ошибку в Eclipse:
Описание Тип расположения пути к ресурсу Не удалось вычислить план сборки: сбой при передаче org.apache.maven.plugins:maven-compiler-plugin:pom: 2.0.2 из http://repo1.maven.org/maven2 был кэширован в локальном репозитории, разрешение не будет повторно предпринято до тех пор, пока не истечет интервал обновления центра или не будут выполнены принудительные обновления. Исходная ошибка: не удалось передать артефакт org.apache.maven.plugins:maven-compiler-plugin:pom: 2.0.2 из / в центральный (http://repo1.maven.org/maven2 ): Не получен ответ после 60000 ExampleProject Неизвестная проблема Maven
Есть идеи? Было бы полезно, если бы вы могли показать мне, как проверить, все ли настроено нормально…
Ответ №1:
Удалите все ваши неудачные загрузки:
find ~/.m2 -name "*.lastUpdated" -exec grep -q "Could not transfer" {} ; -print -exec rm {} ;
Для Windows:
cd %userprofile%.m2repository
for /r %i in (*.lastUpdated) do del %i
Затем щелкните правой кнопкой мыши на вашем проекте в eclipse и выберите Maven-> «Обновить проект …», убедитесь, что в появившемся диалоговом окне установлен флажок «Обновить зависимости», и нажмите «ОК».
Комментарии:
1. В Windows я использовал диалоговое окно проводника для поиска *.lastUpdated в %USERPROFILE%.m2 затем удалил файлы, которые Eclipse назвал проблемными. Сработало отлично! Я уверен, что вы могли бы сделать это с помощью findstr или аналогичного, но графический интерфейс работал.
2. В Windows я вызвал проводник Windows и щелкнул правой кнопкой мыши .m2 -> Поиск… . Я ввел *.lastUpdated в имя файла и «Не удалось передать» в текстовое поле «Слово или фраза в файле».
3. В Windows эти файлы находятся внутри
<user-dir>/.m2/repository/org/example/myTool/1.01
(вы видите трюк). Просто удалите их (the*.lastUpdated
) вручную и обновите зависимости.4. В Eclipse Luna (4.4 milestone) в Windows я обнаружил, что после удаления *.lastUpdated мне также нужно было заставить m2eclipse переиндексировать локальный репозиторий (через Eclipse-> Window-> Preferences-> Maven-> Настройки пользователя: локальный репозиторий: переиндексация)
5. после того, как я часами дергал за волосы… наконец-то это решение сработало для меня в eclipse neon …. спасибо
Ответ №2:
Это сработало и для меня в Windows.
- Найдите репозиторий {user}/.m2/ (используя Juno / Win7 здесь)
- В поле поиска в правом верхнем углу окна введите «.lastupdated». Windows будет просматривать все вложенные папки для этих файлов в каталоге. (Я не просматривал кеш.)
- Удалите их, щелкнув правой кнопкой мыши> Удалить (я сохранил все lastupdated.properties).
- Затем вернитесь в Eclipse, щелкните правой кнопкой мыши по проекту и выберите Maven> Обновить проект. Я выбрал «Принудительное обновление снимков / релизов». Нажмите Ok, и зависимости, наконец, разрешены правильно.
Комментарии:
1. Также обнаружено, что если у вас неправильные ссылки (синтаксис или номер версии) на библиотеки, они не будут загружаться. Используйте онлайн-инструмент поиска в репозитории Maven, чтобы убедиться, что вы правильно ссылаетесь на библиотеки в вашем pom.xml .
2. Это сработало для Windows. Большое спасибо, чувак! Но эта проблема время от времени повторяется. Есть ли у нас какое-либо постоянное исправление?
3. @iowatiger08 что произойдет, если я также удалю файлы lastupdated.properties?
4. @garg10may Я не думаю, что их удаление будет иметь большое значение, потому что Maven повторно заполнит их, когда выполнит следующее «обновление».
5. @iowatiger08, возникают ошибки, если я использую версию типа <version>[1.0.0,2.0.0)</version> в моем pom-файле, но я меняю версию на 1.6.10, ошибки исчезли. Почему это происходит?
Ответ №3:
В Eclipse: щелкните правой кнопкой мыши проект-> Maven-> Обновить проект-> Установите флажок «Принудительное обновление снимков / выпусков». Нажмите OK.
Ответ №4:
Спасибо за ответы, но после еще нескольких поисков я смог устранить проблему. Оказалось, что мне пришлось удалить один из «* .lastUpdated», который препятствовал обновлению одного из моих плагинов (Maven Surefire Plugin). Я сделал это вручную, потому что maven clean, по-видимому, этого не делал.
Проблема заключалась в том, что файл «* .lastUpdated» для плагина блокировал проверку maven на наличие обновлений и не позволял загружать необходимый jar.
Комментарии:
1. Может быть, это очевидно, но я просто хотел бы добавить: после ручного поиска указанного файла * .lastUpdated в репозитории maven (в моем случае это файл surefire) и его удаления необходимо очистить проект в Eclipse.
Ответ №5:
Попробуйте выполнить
mvn -U clean
или запустите> Maven Clean и Maven> Обновить снимки из контекстного меню проекта в eclipse
Ответ №6:
Это сработало для меня в Windows:
- Найдите
{user}/.m2/repository
- В поле поиска в правом верхнем углу окна введите «
.lastupdated
«. Windows будет просматривать все вложенные папки для этих файлов в каталоге. - Удалите все
.lastupdated
файлы. - Вернитесь в Eclipse, щелкните правой кнопкой мыши по проекту и выберите
Maven > Update Project
. - Выберите «
Force Update of Snapshots/Releases
«. - Нажмите Ok, и зависимости, наконец, разрешатся правильно.
Комментарии:
1. Я пользователь Windows. Это решение сработало для меня!
Ответ №7:
В моем случае. Проблемы по той же причине. Я вижу, что проблема связана с прокси и брандмауэром.
Вот мое
решение:
1. установите прокси для Maven и Eclipse
2. Найдите репозиторий {user}/.m2/ и удалите все файлы * .
lastupdated 3. Вернитесь в Eclipse, щелкните правой кнопкой мыши по проекту и выберите Maven> Обновить проект. > Выберите «Принудительное обновление снимков / выпусков».
Если проект все еще существует ошибка. пример: вот мои проблемы после всего вышеперечисленного шага
Failure to transfer org.apache.maven:maven-archiver:pom:2.5 from https://repo.maven.apache.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.apache.maven:maven-archiver:pom:2.5 from/to central (https://repo.maven.apache.org/maven2): Connect timed out
Я использую это решение, полезное для меня:
1. Найдите репозиторий в https://mvnrepository.com /
2. Скопируйте зависимость в мой *.poml примера
проекта
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-archiver</artifactId>
<version>2.5</version>
</dependency>
3. Создайте проект. отсутствующая зависимость будет загружена в локальный репозиторий.
4. Вернитесь в Eclipse, щелкните правой кнопкой мыши по проекту и выберите Maven> Обновить проект. > Выберите «Принудительное обновление снимков / выпусков».
=>> Ошибка устранена
5. Я удаляю зависимости на шаге 2 после завершения и разрешения. Выполнено
Ответ №8:
Это случилось со мной, когда я нахожусь за брандмауэром. Зависимости иногда не загружаются, когда вы работаете в Eclipse IDE. Убедитесь, что вы используете mvn clean install -U
для решения проблемы. После этого вы увидите загрузку зависимостей.
Комментарии:
1. Как только вы сделаете это на своем терминале, перейдите в Eclipse, выберите project и «Обновить проект». Это должно решить проблему, не создавая трудностей с поиском и удалением «.lastUpdated».
Ответ №9:
Если вы находитесь за прокси-сервером, вам необходимо обновить settings.xml файл (в папке conf вашего MAVEN_HOME сам файл содержит информацию о настройках прокси-сервера) и, кроме того, вам может потребоваться обновить сетевые настройки Eclipse (Окно-> Настройки …-> тип сетевых подключений).
Попробуйте использовать -X или —debug для получения выходных данных отладки, это может предоставить дополнительную информацию о проблеме.
Ответ №10:
У меня была аналогичная проблема в Eclipse 3.6 с m2eclipse.
Не удалось рассчитать план сборки: сбой при передаче org.apache.maven.plugins:maven-resources-plugin: jar: 2.4.3 из http://repo1.maven.org/maven2 был кэширован в локальном репозитории, разрешение не будет повторно предпринято до тех пор, пока не истечет интервал обновления центра или не будут выполнены принудительные обновления. Исходная ошибка: не удалось передать артефакт org.apache.maven.plugins:maven-resources-plugin: jar: 2.4.3 из центра (http://repo1.maven.org/maven2 ): ConnectException project1 Неизвестная проблема Maven
Удаление всех файлов maven * .lastUpdated из моего локального хранилища (как предложил Дипак Джой) решило эту проблему.
Ответ №11:
У меня была аналогичная проблема только с несколькими проектами в моей рабочей области. В других проектах с почти идентичными POM вообще не было ошибки. Ни один из других перечисленных ответов не устранил мою проблему. Я, наконец, наткнулся на удаление / повторное применение природы Maven для каждого проекта, и ошибки исчезли:
Для каждого проекта, имеющего pom с ошибкой «разрешение не будет повторно использовано …»:
- Щелкните правой кнопкой мыши по проекту в Eclipse и выберите Maven-> Отключить природу Maven
- Щелкните правой кнопкой мыши на проекте в Eclipse и выберите Настроить-> Преобразовать в проект Maven
Ответ №12:
Это случилось со мной, и у вас может быть два решения для этого
-
Если ваш проект состоит из какой-либо внешней или специфичной для проекта зависимости, вам необходимо вручную добавить его в папку репозитория M2, которая находится по адресу C:UsersMohit .Singh.m2 папка репозитория, а затем вам нужно запустить mvn eclipse: eclipse, а затем mvn clean install из папки проекта
-
если у вас нет какой-либо зависимости от wxternal или project sppecific, вы можете импортировать проект в eclipse как существующий проект maven, затем щелкните правой кнопкой мыши проект -> ПЕРЕЙДИТЕ в maven -> Нажмите обновить проект, появится окно, проверьте опцию принудительной загрузки моментального снимка и нажмите OK
Ответ №13:
Укажите правильный maven setting.xml путь в затмении.
- Windows -> Настройки -> Maven -> Настройки пользователя
Введите правильный setting.xml путь в текстовом поле пользовательских настроек
Комментарии:
1. Добавьте установку maven также в настройки eclipse maven
Ответ №14:
просто удалите архетип в maven local repository
. Как сказано выше, это происходит в случае неудачной загрузки архетипа.
Ответ №15:
Для меня я просто добавил приведенный ниже XML-код в POM.xml досье. И после того, как я щелкнул правой кнопкой мыши в проекте -> Maven -> Обновить проект, и я проверил принудительное обновление снимков / релизов **, и все сработало
<dependencies>
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.servlet.jsp/jsp-api -->
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/jstl/jstl -->
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
Ответ №16:
settings.xml для прокси-сервера? и в eclipse есть глобальный локальный профиль maven, добавьте settings.xml
Комментарии:
1. Можете ли вы отредактировать свой ответ и добавить больше деталей? Приведите пример того, что нужно добавить
settings.xml
и где это можно найти. Кроме того, имейте в виду, что этому вопросу 10 месяцев.
Ответ №17:
Вы можете удалить саму папку .m2 и заставить MyEclipse повторно загрузить все зависимости при запуске. Перейдите в окно> Настройки> MyEclipse> Maven4MyEclipse.
Ответ №18:
- Вышеуказанная ошибка произошла из-за удаления «maven-compiler-plugin 2.0.2» из репозитория maven.
- Для меня вышеуказанная ошибка устраняется, когда я понижаю версию ‘maven-compiler-plugin’ до версии 2.0 или 2.0.1.
Ответ №19:
для mac
Я удалил все старые неудачные загрузки maven на моем Mac также было несколько версий maven
найти ~/.m2 -имя «*.lastUpdated» -exec grep -q «Не удалось передать» {}; -print -exec rm {} ;
после этого я просто обновил свой eclipse с помощью
справка -> проверить наличие обновлений
и проблема решена для меня
основной причиной этой проблемы является сбой старых обновлений, которые не позволяют загружать archetype, поэтому, если вы попытаетесь создать проект в любом архетипе maven, он завершится неудачей
Ответ №20:
создайте файл delete_lastUpdated_and_remote.sh
(используйте n
):
#!/bin/bash
find $(cd $(dirname $0); pwd) -name "*.lastUpdated" -type f -print -exec rm -rf {} ;
find $(cd $(dirname $0); pwd) -name "_remote.repositories" -type f -print -exec rm -rf {} ;
Поместите его в локальное репозиторий Maven, например, %userprofile%.m2repository
или ~/.m2/repository
, и запустите его.
В Windows вы также должны установить Git для запуска sh
file.
Я также использую его в задании Дженкинса.
Ответ №21:
Я получил эту ошибку для плагина ниже:
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxb2-maven-plugin</artifactId>
<version>2.5</version>
Я изменил версию тега на:
<version>2.5.0</version>
Затем откройте контекстное меню вашего проекта в eclipse и выберите Maven> «Обновить проект …», убедитесь, что в диалоговом окне установлен флажок «Обновить зависимости», и нажмите кнопку «ОК».
Ответ №22:
В моем случае я получил это сообщение об ошибке в spring tool 4
Исключение ArtifactTransferException: org.codehaus.plexus:сплетение-интерполяция: jar: 1.26 не удалось передать из https://repo.maven.apache.org/maven2 во время предыдущей попытки. Этот сбой был кэширован в локальном репозитории, и разрешение не повторяется до тех пор, пока не истечет интервал обновления центра или обновления не будут принудительными. Исходная ошибка: не удалось перенести артефакт org.codehaus.plexus: plexus-интерполяция: jar: 1.26 из / в центральный (https://repo.maven.apache.org/maven2 ): repo.maven.apache.org java.lang.отразить.Исключение InvocationTargetException
Вот решение
шаг 01 — сначала закройте приложение spring tool
шаг 02 — перейти к пути C:UsersUser и удалите папку .m2
шаг 03 — Теперь перейдите к исследованию пакета и выберите свой проект
шаг 04 — Теперь щелкните правой кнопкой мыши на вашем проекте и перейдите в Maven и нажмите Обновить проект
Как удалить Spring Tool 4
шаг 01 — нажмите на справку и перейдите к о Spring Tool Suite 4
шаг 02 — Теперь нажмите на сведения об установке
шаг 03 — внутри этого вы можете увидеть все установленное программное обеспечение, просто нажмите Ctrl A, чтобы выбрать все и нажмите Удалить
Ответ №23:
Решение, которое работает для меня, заключается в следующем:
-
Скопируйте зависимость в pom.
<dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-archiver</artifactId> <version>2.5</version> </dependency>
-
Щелкните правой кнопкой мыши на вашем проекте
- Выберите Maven
- Выберите Обновить проект
- Выберите Принудительное обновление снимков / релизов
Ответ №24:
Удалите все файлы внутри репозитория.
Перейдите к C:UsersDELL.m2repository , выберите все файлы и удалите их.
Затем перейдите в project, щелкните правой кнопкой мыши maven update project (Alt F5). Он загрузит все зависимые файлы внутри репозитория.
Ответ №25:
Пожалуйста, убедитесь, что настройки.Сначала действителен XML-файл в папке .m2, затем после очистки репозитория с помощью приведенной ниже команды в cmd
cd %userprofile%.m2repository
for /r %i in (*.lastUpdated) do del %i