Помилка 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 Невідома проблема Мевена

Будь-які ідеї? Було б корисно, якщо ви могли б показати мені, як перевірити, чи все налаштовано добре ...

Відповіді:


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

Потім клацніть правою кнопкою миші на проект в затемненні та виберіть Maven -> "Оновити проект ...", переконайтеся, що "Оновлення залежностей" встановлено в діалоговому вікні, що виходить, і натисніть кнопку ОК.


6
У Windows я застосував діалогове вікно провідника для пошуку * .lastUpdate у% USERPROFILE% \. M2, потім видалив файли, про які Eclipse повідомив як проблематичні. Працювали частування! Я впевнений, що ви могли це зробити за допомогою findstr або подібного, але GUI працював.
Марк Макдональд

4
У Windows я створив Провідник Windows і клацнув правою кнопкою миші на .m2 -> Пошук .... Я помістив * .lastUpdated у назві файлу та "Не вдалося перенести" у текстовому полі "Слово чи фразу у файлі".
rajah9

4
У Windows ці файли розташовані всередині <user-dir>/.m2/repository/org/example/myTool/1.01(ви бачите трюк). Просто видаліть їх (the *.lastUpdated) вручну та оновіть залежності.
Седрік Райхенбах

2
У розділі Eclipse Luna (4,4 віха) в Windows я виявив, що після видалення * .lastUpdated мені також потрібно було отримати m2eclipse для повторного введення локального сховища (через Eclipse-> Window-> Preferences-> Maven-> Налаштування користувача: Local Repository: Reindex)
gb96

2
потягнувши мої волосся протягом години ... нарешті це рішення спрацювало для мене у неоновому затемненні ....
подякуй

71

Це працювало і для мене в Windows.

  1. Знайдіть {user} /. M2 / сховище (тут використовується Juno / Win7)
  2. У полі Пошук у верхньому правому куті введіть ".lastupdate". Windows перегляне всі папки для цих файлів у каталозі. (Я не дивився через кеш.)
  3. Видаліть їх клацніть правою кнопкою миші> Видалити (я зберігав усі останні оновлені. Властивості).
  4. Потім поверніться до Eclipse, клацніть правою кнопкою миші на проект та виберіть Maven> Update Project. Я вибрав "Примусове оновлення знімків / релізів". Натисніть «Ок», і залежність остаточно вирішиться.

1
Також встановлено, що якщо у вас неправильні посилання (синтаксис або номер версії) на бібліотеки, вони не завантажуватимуться. Використовуйте інструмент пошуку онлайн-сховищ Maven, щоб переконатися, що ви правильно посилаєтесь на бібліотеки у своєму pom.xml.
iowatiger08

Це працювало для вікон. Велике спасибі людино! Але це питання повторюється часом. Чи є у нас постійні виправлення?
ЛІГИ

@ iowatiger08 що станеться, якщо я також видалю файли lastupdate.properties?
garg10 травня

@ garg10may Я не думаю, що видалення їх буде великою справою, оскільки Мейвен переселяє їх, коли буде наступне "оновлення".
iowatiger08

@ iowatiger08, Є помилки, якщо я використовую версію типу <version> [1.0.0,2.0.0) </version> у своєму пом-файлі, але я змінюю версію на 1.6.10, помилки відпадають. Чому це відбувається?
gfan

32

У затемненні: Клацніть правою кнопкою миші проект-> Maven-> Оновити проект-> Поставте прапорець "Примусове оновлення знімків / релізів". Натисніть кнопку ОК.


17

Дякую за відповіді, але після ще кількох пошуків я зміг виправити проблему. Виявилося, що мені довелося видалити один із "* .lastUpdate", який заважав оновити один із моїх плагінів (Maven Surefire Plugin). Я робив це вручну, тому що маварна чистка, очевидно, не робила цього.

Проблема полягала в тому, що файл "* .lastUpdate" для плагіна блокував перевірку оновлень Maven на оновлення та не дозволяв завантажувати необхідну банку.


4
Можливо, це очевидно, але я просто хотів би додати: Після вручну шукати вказаний * .lastUpdated файл у сховищі maven (у моєму випадку надійний файл) та видаливши його, треба очистити проект у Eclipse.
superjos

15

Спробуйте виконати

mvn -U clean

або Виконати> Maven Clean та Maven> Оновити знімки з контекстного меню проекту у затемненні


9

У моєму випадку. Питання - це та сама причина. Я бачу, проблема в проксі і брандмауері.

Ось моє рішення
Fisrt способи:
1. встановити проксі для Maven та Eclipse
2. Перейдіть, щоб знайти {user} /. M2 / сховище та видаліть всі * .lastupdate файли
3. Поверніться до Eclipse, клацніть правою кнопкою миші на проект та виберіть Maven> Update Project. > Виберіть "Примусове оновлення знімків / релізів".

Якщо проект все ще існує помилка. Приклад: ось мої проблеми після всіх вище кроків

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> Update Project. > Виберіть "Примусове оновлення знімків / релізів".
= >> Помилка усунена
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, виберіть проект та "Refresh Project". Це має вирішити проблему, не вводячи труднощів у пошуку та видаленні ".lastUpdate".
Едвард Кіхот

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): Проект ConnectException1 Невідома проблема Maven

Видалення всіх файлів maven * .lastUpdated з моєї місцевої реабілітації (як запропонував Deepak Joy) вирішило цю проблему.


2

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

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

  1. Клацніть правою кнопкою миші на проект у Eclipse та виберіть Maven -> Disable Maven Nature
  2. Клацніть правою кнопкою миші проект у програмі Eclipse та виберіть Налаштувати -> Перетворити в Maven Project

2

Зі мною це сталося і у вас, можливо, є два рішення для цього

  1. Якщо ваш проект складається з якоїсь зовнішньої або проектної залежності в ньому, вам доведеться вручну додати його до свого папку репортажу M2, яка знаходиться в папці C: \ Users \ Mohit.Singh.m2 \ сховище, і тоді вам доведеться запустити mvn eclipse: затемнення, а потім mvn очистити встановити з папки проекту

  2. якщо у вас немає жодної wxternal або проектної специфічної залежності, ви можете імпортувати проект у затемнення як існуючий проект maven потім клацніть правою кнопкою миші на проект -> GO to maven -> натисніть на оновити проект, з'явиться вікно, перевірте силу завантаження знімка варіант і натисніть кнопку ОК


2

Дайте правильну настройку maven.xml в затемненні.

  • Windows -> Налаштування -> Maven -> Налаштування користувача

Введіть правильний шлях settings.xml у текстове поле налаштувань користувача


Додайте інсталяцію Maven також у налаштуваннях Maven eclipse
Gunwant

1

просто видаліть архетип в maven local repository. Як було сказано вище, це відбувається у разі невдало завантаженого архетипу.


1

Для мене я щойно додав наступний xml-код у файл POM.xml. І після того, як я вкажу ** правий клацання правою кнопкою миші в проекті -> Maven -> Update Project, і я перевірив Force Update Snapshots / Releases ** і все, що працювало

    <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 для проксі? а в затемненні є 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. Скопіюйте залежність на пом.

    <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-archiver</artifactId>
        <version>2.5</version>
    </dependency>
  2. Клацніть правою частиною проекту

  3. Виберіть Maven
  4. Виберіть Оновити проект
  5. Виберіть Примірне оновлення знімків / релізів

-2

Переконайтеся, що спочатку дійсний файл налаштування.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.