Błąd Maven „Nie udało się przesłać ...”

285

Próbuję skonfigurować projekt za pomocą Maven (m2eclipse), ale pojawia się ten błąd w Eclipse:

Opis Ścieżka do zasobu Lokalizacja Typ Nie można obliczyć planu kompilacji: Nie udało się przesłać org.apache.maven.plugins: maven-compiler-plugin: pom: 2.0.2 z http://repo1.maven.org/maven2 był buforowany w lokalnym repozytorium, rozdzielczość nie będzie ponawiana, dopóki nie upłynie interwał aktualizacji centrali lub aktualizacje nie zostaną wymuszone. Błąd oryginalny: Nie można przenieść artefaktu org.apache.maven.plugins: maven-compiler-plugin: pom: 2.0.2 z / do centralnego ( http://repo1.maven.org/maven2 ): Brak odpowiedzi po 60000 Przykład Projekt Nieznany problem Maven

Jakieś pomysły? Byłoby pomocne, gdybyś mógł mi pokazać, jak sprawdzić, czy wszystko jest dobrze skonfigurowane ...

Deepak Joy
źródło

Odpowiedzi:

721

Usuń wszystkie nieudane pobieranie:

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

Dla Windowsa:

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

Następnie kliknij prawym przyciskiem myszy projekt w zaćmieniu i wybierz Maven -> „Aktualizuj projekt ...”, upewnij się, że w wyświetlonym oknie dialogowym jest zaznaczone „Aktualizuj zależności” i kliknij OK.

Jonas Andersson
źródło
6
W systemie Windows użyłem okna eksploratora do wyszukania * .lastUpdated w% USERPROFILE% \. M2, a następnie usunąłem pliki, które Eclipse zgłosił jako problematyczne. Działa uczta! Jestem pewien, że możesz to zrobić za pomocą findstr lub podobnego, ale GUI działało.
Mark McDonald,
4
W systemie Windows uruchomiłem Eksploratora Windows i kliknąłem prawym przyciskiem myszy plik .m2 -> Wyszukaj ... Umieściłem * .lastUpdated w nazwie pliku i „Nie można przenieść” w polu tekstowym „Słowo lub fraza w pliku”.
rajah9,
4
W <user-dir>/.m2/repository/org/example/myTool/1.01systemie Windows pliki te znajdują się w środku (widzisz sztuczkę). Wystarczy usunąć je *.lastUpdatedręcznie i zaktualizować zależności.
Cedric Reichenbach,
2
Pod Eclipse Luna (kamień milowy 4.4) w systemie Windows odkryłem, że po usunięciu * .lastUpdated potrzebowałem również m2eclipse, aby ponownie zindeksować lokalne repozytorium (poprzez Eclipse-> Okno-> Preferencje-> Maven-> Ustawienia użytkownika: Lokalne repozytorium: Reindex)
gb96
2
po kilku godzinach ciągnięcia za włosy ... w końcu to rozwiązanie zadziałało dla mnie w zaćmieniu neonu .... dziękuję
Tayab Hussain
71

Działa to również dla mnie w systemie Windows.

  1. Znajdź {user} /. M2 / repozytorium (używając Juno / Win7 tutaj)
  2. W polu Wyszukaj w prawym górnym rogu okna wpisz „.lastupdated”. Windows przeszuka wszystkie podfoldery w poszukiwaniu tych plików w katalogu. (Nie przeglądałem pamięci podręcznej).
  3. Usuń je, klikając prawym przyciskiem myszy> Usuń (zachowałem wszystkie lastupdated.properties).
  4. Następnie wróć do Eclipse, kliknij prawym przyciskiem myszy projekt i wybierz Maven> Aktualizuj projekt. Wybrałem opcję „Wymuś aktualizację migawek / wydań”. Kliknij OK, a zależności zostaną ostatecznie rozwiązane poprawnie.
iowatiger08
źródło
1
Stwierdzono również, że jeśli masz niepoprawne odwołania (składnia lub numer wersji) do bibliotek, nie zostaną pobrane. Użyj narzędzia wyszukiwania repozytorium online Maven, aby upewnić się, że poprawnie odwołujesz się do bibliotek w pliku pom.xml.
iowatiger08
Działa to w przypadku systemu Windows. Dzięki wielkie! Ale ten problem czasami się powtarza. Czy mamy jakieś stałe rozwiązanie?
LINGS,
@ iowatiger08 co się stanie, jeśli usunę również pliki lastupdated.properties?
garg10may
@ garg10may Nie sądzę, że usunięcie ich byłoby wielką sprawą, ponieważ Maven ponownie je zapełni, gdy zrobi następną „aktualizację”.
iowatiger08
@ iowatiger08, Występują błędy, jeśli używam wersji takiej jak <wersja> [1.0.0,2.0.0) </version> w moim pliku pom, ale zmieniam wersję na 1.6.10, błędy zniknęły. Dlaczego tak się dzieje?
gfan
32

W Eclipse: kliknij prawym przyciskiem myszy projekt-> Maven-> Aktualizuj projekt-> Zaznacz pole wyboru „Wymuś aktualizację migawek / wydań”. Kliknij OK.

Zhenya
źródło
17

Dzięki za odpowiedzi, ale po kilku poszukiwaniach udało mi się rozwiązać problem. Okazało się, że musiałem usunąć jedną z „* .lastUpdated”, która uniemożliwiała aktualizację jednej z moich wtyczek (wtyczki Maven Surefire). Zrobiłem to ręcznie, ponieważ najwyraźniej nie zrobił tego czysty maven.

Problem polegał na tym, że plik „* .lastUpdated” dla wtyczki blokował sprawdzanie aktualizacji pod kątem aktualizacji i nie pozwalał na pobranie wymaganego słoika.

Deepak Joy
źródło
4
Może to oczywiste, ale chciałbym tylko dodać: Po ręcznym wyszukaniu określonego pliku * .lastUpdated w repozytorium maven (z pewnością w moim przypadku jest to plik) i usunięcie go wymaga wyczyszczenia projektu w Eclipse.
superjos,
15

Spróbuj wykonać

mvn -U clean

lub Uruchom> Maven Clean and Maven> Aktualizuj migawki z menu kontekstowego projektu w środowisku Eclipse

Lew Chomicz
źródło
9

W moim przypadku. Problemy są z tego samego powodu. Widzę, że problem dotyczy serwera proxy i zapory.

Oto moje rozwiązanie
Fisrt sposoby:
1. zainstaluj Proxy dla Maven i Eclipse
2. Przejdź do Zlokalizuj repozytorium {użytkownik} /. M2 / i usuń wszystkie pliki * .lastupdated
3. Wróć do Eclipse, kliknij prawym przyciskiem myszy na projekt i wybierz Maven> Aktualizuj projekt. > Wybierz „Wymuś aktualizację migawek / wydań”.

Jeśli projekt nadal istnieje błąd. przykład: oto moje problemy po wszystkich powyższych krokach

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

Korzystam z tego rozwiązania, które jest dla mnie przydatne:
1. Znajdź repozytorium w https://mvnrepository.com/
2. Skopiuj zależność do mojego * .poml
przykładu projektu

<dependency>
    <groupId>org.apache.maven</groupId>
    <artifactId>maven-archiver</artifactId>
    <version>2.5</version>
</dependency>


3. Zbuduj projekt. brakująca zależność zostanie pobrana do lokalnego repozytorium.
4. Wróć do Eclipse, kliknij prawym przyciskiem myszy projekt i wybierz Maven> Aktualizuj projekt. > Wybierz „Wymuś aktualizację migawek / wydań”.
= >> Błąd został rozwiązany
5. Usuwam zależności w kroku 2 po zakończeniu i rozwiązaniu. Gotowe

Huan Le
źródło
7

To działało dla mnie w systemie Windows:

  1. Znajdź {user}/.m2/repository
  2. W polu Wyszukaj w prawym górnym rogu okna wpisz „ .lastupdated”. Windows przeszuka wszystkie podfoldery w poszukiwaniu tych plików w katalogu.
  3. Usuń wszystkie .lastupdatedpliki.
  4. Wróć do Eclipse, kliknij prawym przyciskiem myszy projekt i wybierz Maven > Update Project.
  5. Wybierz „ Force Update of Snapshots/Releases”.
  6. Kliknij przycisk OK, a zależności zostaną w końcu poprawnie rozwiązane.
Sumeet Kumar
źródło
6

Zdarzyło mi się, gdy jestem za firewallem. Zależności nie są pobierane czasami, gdy używasz środowiska Eclipse IDE. Upewnij się, że używasz mvn clean install -Udo rozwiązania problemu. Po tym zobaczysz, że zależności są pobierane.

Kran
źródło
Gdy to zrobisz na swoim terminalu, przejdź do Eclipse, wybierz projekt i „Odśwież projekt”. To powinno rozwiązać problem bez wprowadzania trudności ze znalezieniem i usunięciem „.lastUpdated”.
Edward Kichot
5

Jeśli jesteś za serwerem proxy, musisz zaktualizować plik settings.xml (w folderze conf twojego MAVEN_HOME sam plik zawiera informacje o ustawieniach proxy), a dodatkowo może być konieczna aktualizacja ustawień sieci Eclipse (Window-> Preferencje ...-> typ Połączenia sieciowe).

Spróbuj użyć -X lub --debug, aby uzyskać dane wyjściowe debugowania, może to dostarczyć dodatkowych informacji o problemie.

Abel Morelos
źródło
3

Miałem podobny problem w Eclipse 3.6 z m2eclipse.

Nie można obliczyć planu kompilacji: Niepowodzenie przesłania org.apache.maven.plugins: maven-resources-plugin: jar: 2.4.3 z http://repo1.maven.org/maven2 zostało buforowane w lokalnym repozytorium, rozdzielczość nie ponawiać próby, dopóki nie upłynie interwał aktualizacji centrali lub aktualizacje zostaną wymuszone. Błąd oryginalny: nie można przesłać artefaktu org.apache.maven.plugins: maven-resources-plugin: jar: 2.4.3 z centralnego (http://repo1.maven.org/maven2): ConnectException project1 Nieznany problem Maven

Usunięcie wszystkich plików maven * .lastUpdated z mojego lokalnego repozytorium (jak sugerował Deepak Joy) rozwiązało ten problem.

Luki
źródło
2

Miałem podobny problem z kilkoma projektami w moim obszarze roboczym. Inne projekty z prawie identycznymi POM nie miały w ogóle błędu. Żadna z pozostałych wymienionych odpowiedzi nie rozwiązała mojego problemu. W końcu natknąłem się na usunięcie / ponowne zastosowanie natury Maven dla każdego projektu i błędy zniknęły:

Dla każdego projektu, który ma pom z błędem „rozdzielczość nie zostanie ponowiona próba ...”:

  1. Kliknij projekt prawym przyciskiem myszy w Eclipse i wybierz Maven -> Wyłącz Maven Nature
  2. Kliknij projekt prawym przyciskiem myszy w Eclipse i wybierz Konfiguruj -> Konwertuj do projektu Maven
smith.gt
źródło
2

Zdarzyło mi się również, że możesz mieć na to dwa rozwiązania

  1. Jeśli twój projekt zawiera w sobie jakąś zewnętrzną lub zależną od projektu zależność, musisz ręcznie dodać go do folderu repozytorium M2, który znajduje się w folderze repozytorium C: \ Users \ Mohit.Singh.m2 \, a następnie musisz uruchomić mvn eclipse: Zaćmienie, a następnie mvn czysta instalacja z folderu projektu

  2. jeśli nie masz żadnej zależności wewnętrznej lub specyficznej dla projektu, możesz zaimportować projekt do zaćmienia jako Istniejący projekt maven, a następnie kliknij prawym przyciskiem myszy projekt -> PRZEJDŹ do maven -> Kliknij na aktualizację projektu, pojawi się okno, sprawdź pobranie migawki wymuszonej opcję i naciśnij OK

Mohit Singh
źródło
2

Podaj poprawną ścieżkę ustawienia maven w pliku eclipse.

  • Windows -> Preferencje -> Maven -> Ustawienia użytkownika

Wprowadź poprawną ścieżkę setting.xml w polu tekstowym ustawień użytkownika

Hansi Radhakrishnan
źródło
Dodaj również instalację maven w preferencjach zaćmienia maven
Gunwant
1

po prostu usuń archetyp maven local repository. Jak wspomniano powyżej, dzieje się tak w przypadku nieudanego pobrania archetypu.

Pravat Panda
źródło
1

Dla mnie właśnie dodałem poniższy kod xml w pliku POM.xml. A po tym jak ** kliknij prawym przyciskiem myszy w projekcie -> Maven -> Zaktualizuj projekt i sprawdziłem Wymuś aktualizację migawek / wydań ** i wszystko działało

    <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>
Lamine BA
źródło
0

settings.xml dla proxy? a w Eclipse jest maven global \ profil lokalny, dodaj settings.xml

roi
źródło
2
Czy możesz edytować swoją odpowiedź i dodać więcej szczegółów? Podaj przykład tego, co dodać settings.xmli gdzie można go znaleźć. Pamiętaj też, że to pytanie ma 10 miesięcy.
Brigand
0

Możesz usunąć sam folder .m2 i zmusić MyEclipse do ponownego pobrania wszystkich zależności podczas uruchamiania. Przejdź do Okno> Preferencje> MyEclipse> Maven4MyEclipse.

R Tiwari
źródło
0
  • Wystąpił powyższy błąd związany z usunięciem „maven-compiler-plugin 2.0.2” z repozytorium maven.
  • Dla mnie powyższy błąd został rozwiązany, kiedy obniżam wersję „maven-compiler-plugin” do wersji 2.0 lub 2.0.1.
Avinash Pande
źródło
-1

Rozwiązanie, które działa dla mnie, jest następujące:

  1. Skopiuj zależność do pom.

    <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-archiver</artifactId>
        <version>2.5</version>
    </dependency>
  2. Kliknij prawym przyciskiem myszy na swój projekt

  3. Wybierz Maven
  4. Wybierz Aktualizuj projekt
  5. Wybierz opcję Wymuś aktualizację migawek / wydań
Jorge Santos Neill
źródło
-2

Upewnij się, że plik settings.XML w folderze .m2 jest najpierw prawidłowy, a następnie po wyczyszczeniu repozytorium za pomocą poniższego polecenia w cmd

cd %userprofile%\.m2\repository
for /r %i in (*.lastUpdated) do del %i
dush88c
źródło