Ошибка Maven «Ошибка перевода…»


285

Я пытаюсь настроить проект с помощью 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

Любые идеи? Было бы полезно, если бы вы могли показать мне, как проверить, все ли настроено нормально ...

Ответы:


721

Удалите все ваши неудачные загрузки:

find ~/.m2  -name "*.lastUpdated" -exec grep -q "Could not transfer" {} \; -print -exec rm {} \;

Для окон:

cd %userprofile%\.m2\repository
for /r %i in (*.lastUpdated) do del %i

Затем щелкните правой кнопкой мыши свой проект в Eclipse и выберите Maven -> «Обновить проект ...», убедитесь, что в появившемся диалоговом окне отмечен флажок «Обновить зависимости», и нажмите кнопку «ОК».


6
В Windows я использовал диалоговое окно проводника для поиска * .lastUpdated в% USERPROFILE% \. M2, а затем удалил файлы, которые Eclipse назвал проблемными. Работал лакомство! Я уверен, что вы могли бы сделать это с помощью findstr или аналогичного, но графический интерфейс работал.
Марк Макдональд

4
В Windows я открыл Windows Explorer и щелкнул правой кнопкой мыши .m2 -> Search .... Я поставил * .lastUpdated в имени файла и «Не удалось передать» в текстовом поле «Слово или фраза в файле».
rajah9

4
В окнах эти файлы находятся внутри <user-dir>/.m2/repository/org/example/myTool/1.01(вы видите хитрость). Просто удалите их ( *.lastUpdated) вручную и обновите зависимости.
Седрик Райхенбах

2
В Eclipse Luna (4.4 milestone) в Windows я обнаружил, что после удаления * .lastUpdated мне также необходимо получить m2eclipse для переиндексации локального репозитория (через Eclipse-> Window-> Preferences-> Maven-> User Settings: Local Repository: Reindex)
gb96

2
после того, как я потянул мои волосы в течение нескольких часов ... наконец, это решение сработало для меня в неоновом затмении .... спасибо
Tayab Hussain

71

Это работало и для меня в Windows.

  1. Найдите {user} /. M2 / repository (здесь используется Juno / Win7)
  2. В поле поиска в правом верхнем углу окна введите «.lastupdated». Windows просмотрит все подпапки для этих файлов в каталоге. (Я не просматривал кеш.)
  3. Удалите их, щелкнув правой кнопкой мыши> Удалить (я сохранил все свойства lastupdated.properties).
  4. Затем вернитесь в Eclipse, щелкните правой кнопкой мыши проект и выберите Maven> Обновить проект. Я выбрал «Принудительное обновление снимков / релизов». Нажмите кнопку ОК, и зависимости окончательно разрешатся.

1
Также установлено, что если у вас есть неправильные ссылки (синтаксис или номер версии) на библиотеки, они не будут загружаться. Используйте инструмент поиска в онлайн-хранилище Maven, чтобы убедиться, что вы правильно ссылаетесь на библиотеки в вашем файле pom.xml.
iowatiger08

Это работало для окон. Большое спасибо, человек! Но эта проблема повторяется время от времени. У нас есть постоянное исправление?
ЛИНГС

@ iowatiger08, что произойдет, если я также удалю файлы lastupdated.properties?
garg10may

@ garg10may Я не думаю, что их удаление будет большой проблемой, потому что Maven переполнит их, когда сделает следующее «обновление».
iowatiger08

@ iowatiger08, Есть ошибки, если я использую версию как <версия> [1.0.0,2.0.0) </ version> в моем файле pom, но я изменяю версию на 1.6.10, ошибки исчезли. Почему это происходит?
gfan

32

В Eclipse: щелкните правой кнопкой мыши проект-> Maven-> Обновить проект-> Флажок "Принудительное обновление снимков / выпусков". Нажмите ОК.


17

Спасибо за ответы, но после еще нескольких поисков я смог решить проблему. Оказалось, что мне пришлось удалить один из «* .lastUpdated», который препятствовал обновлению одного из моих плагинов (Maven Surefire Plugin). Я сделал это вручную, потому что Maven Clean явно не делал этого.

Проблема заключалась в том, что файл «* .lastUpdated» для плагина блокировал проверку maven на обновления и не позволял загружать необходимый jar-файл.


4
Может быть, это очевидно, но я просто хотел бы добавить: после того, как вы вручную искали указанный файл * .lastUpdated в репозитории maven (в моем случае это обязательно) и, удалив его, нужно очистить проект в Eclipse.
Superjos

15

Попробуйте выполнить

mvn -U clean

или Выполнить> Maven Clean and Maven> Обновить снимки из контекстного меню проекта в Eclipse


9

В моем случае. Проблемы по той же причине. Я вижу, проблема в прокси и брандмауэре.

Вот мое решение
следующими способами:
1. установить Proxy для Maven и Eclipse
2. Перейти к расположению {user} /. M2 / repository и удалить все файлы * .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 после завершения и устранения. Готово


7

Это работало для меня в Windows:

  1. Найдите {user}/.m2/repository
  2. В поле поиска в правом верхнем углу окна введите «.lastupdated ». Windows просмотрит все подпапки для этих файлов в каталоге.
  3. Удалить все .lastupdated файлы.
  4. Вернитесь в Eclipse, щелкните правой кнопкой мыши на проекте и выберите Maven > Update Project .
  5. Выбрать "Force Update of Snapshots/Releases ».
  6. Нажмите кнопку ОК, и зависимости, наконец, разрешатся правильно.

6

Это случилось со мной, когда я за брандмауэром. Зависимости не загружаются иногда, когда вы работаете в Eclipse IDE. Убедитесь, что вы используете mvn clean install -Uдля решения проблемы. После этого вы увидите загрузку зависимостей.


Как только вы сделаете это на своем терминале, перейдите в Eclipse, выберите проект и «Обновить проект». Это должно решить проблему, не создавая трудности с поиском и удалением «.lastUpdated».
Эдвард Кихот

5

Если вы находитесь за прокси-сервером, вам необходимо обновить файл settings.xml (в папке conf вашего MAVEN_HOME, сам файл содержит информацию о настройках прокси-сервера), а также вам может потребоваться обновить сетевые настройки Eclipse (Window-> Настройки ...-> Тип Сетевые подключения).

Попробуйте использовать -X или --debug, чтобы получить выходные данные отладки, это может предоставить дополнительную информацию о проблеме.


3

У меня была похожая проблема в 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 из моего локального хранилища (как предположил Дипак Джой) решило эту проблему.


2

У меня была похожая проблема только с несколькими проектами в моей рабочей области. В других проектах с почти одинаковыми POM вообще не было ошибок. Ни один из перечисленных ответов не устранил мою проблему. Я наконец наткнулся на удаление / повторное применение природы Maven для каждого проекта, и ошибки исчезли:

Для каждого проекта, у которого есть пом с ошибкой «резолюция не будет повторена ...»:

  1. Щелкните правой кнопкой мыши проект в Eclipse и выберите Maven -> Disable Maven Nature.
  2. Щелкните правой кнопкой мыши проект в Eclipse и выберите « Настроить» -> « Преобразовать в проект Maven».

2

Случилось и со мной, у вас может быть два решения для этого

  1. Если ваш проект состоит из какой-либо внешней или специфической для него зависимости, вам нужно вручную добавить его в папку репозитория M2, которая находится в папке C: \ Users \ Mohit.Singh.m2 \ repository, а затем запустить mvn eclipse: затмить, а затем mvn чистой установки из папки проекта

  2. если у вас нет какой-либо wxternal или специфичной для проекта зависимости, то вы можете импортировать проект в затмение как существующий проект maven, а затем щелкнуть правой кнопкой мыши на проекте -> Перейти к maven -> Щелкните по проекту обновления, появится окно проверки принудительной загрузки снимка. вариант и ударил ОК


2

Дайте правильный путь maven setting.xml в Eclipse.

  • Windows -> Настройки -> Maven -> Настройки пользователя

Введите правильный путь setting.xml в текстовом поле настроек пользователя.


Добавьте также установку
Eclipse Maven

1

просто удалите архетип в maven local repository. Как сказано выше, это происходит в случае неудачных загрузок архетипов.


1

Для меня я просто добавил ниже 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>

0

settings.xml для прокси? и в eclipse есть maven global \ local profile, добавьте settings.xml


2
Можете ли вы отредактировать свой ответ и добавить больше деталей? Приведите пример того, что добавить settings.xmlи где его можно найти. Также имейте в виду, что этому вопросу 10 месяцев.
Разбойник

0

Вы можете удалить саму папку .m2 и заставить MyEclipse повторно загрузить все зависимости при запуске. Перейдите в «Окно»> «Установки»> «MyEclipse»> «Maven4MyEclipse».


0
  • Вышеуказанная ошибка произошла из-за удаления «maven-compiler-plugin 2.0.2» из репозитория maven.
  • Для меня вышеупомянутая ошибка разрешается, когда я понижаю 'maven-compiler-plugin' до версии 2.0 или 2.0.1.

-1

Решение, которое работает для меня, заключается в следующем:

  1. Скопируйте зависимость в pom.

    <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-archiver</artifactId>
        <version>2.5</version>
    </dependency>
  2. Нажмите прямо на ваш проект

  3. Выберите Maven
  4. Выберите Обновить проект
  5. Выберите «Принудительное обновление снимков / выпусков».

-2

Пожалуйста, убедитесь, что файл settings.XML в папке .m2 действителен сначала. Затем, после очистки репозитория, используйте команду ниже в cmd.

cd %userprofile%\.m2\repository
for /r %i in (*.lastUpdated) do del %i
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.