Mam nadzieję, że ktoś może mi pomóc z problemem, z którym walczę.
Gdy próbuję zbudować projekt z terminala, pojawia się ten błąd:
Failed to read artifact descriptor for com.morrislgn.merchandising.common:test-data-utils:jar:0.3b-SNAPSHOT: Could not find artifact com.morrislgn.merchandising:merchandising:pom:0.3b-SNAPSHOT
common.test-data-utils
Słoik tworzony jest przez oddzielny projekt i dzielone między tym i innym projekcie (inny projekt nie buduje obaj, ale to jest w dół do innego problemu).
Jestem w stanie zbudować com.morrislgn.merchandising.common:test-data-utils
bez problemu, widzę wpis, który dokonuje w .m2
lokalnym repozytorium na moim komputerze. Ponownie zindeksowałem moje repozytorium w Eclipse.
POM dla mojego projektu ma następujący wpis:
<dependency>
<groupId>com.morrislgn.merchandising.common</groupId>
<artifactId>test-data-utils</artifactId>
<version>0.3b-SNAPSHOT</version>
</dependency>
Co wydaje mi się poprawne - POM nie zgłasza żadnych błędów, gdy jest oglądany w Eclipse.
Czy ktoś może mi powiedzieć, czego tu brakuje lub co robię źle?
źródło
~/.m2/setting.xml
sekcji lustrzanej, a następnie po uruchomieniumvn -U clean install
upewnij sięReimport
(kliknij projekt prawym przyciskiem myszy, a następnie w dolnejMaven
części znajduje sięReimport
przycisk ).Ten problem może wystąpić, jeśli masz projekty potomne, które odnoszą się do nadrzędnego systemu pom i nie zainstalowałeś go z katalogu nadrzędnego pom (uruchom
mvn install
z katalogu nadrzędnego). Jeden z projektów podrzędnych może zależeć od projektu rodzeństwa, a gdy przejdzie do pom pom rodzeństwa, zakończy się niepowodzeniem z powodu błędu wymienionego w pytaniu, chyba że przynajmniej raz zainstalowałeś z nadrzędnego katalogu pom.Właśnie natrafiłem na ten problem podczas przenoszenia projektu na nowy komputer. Miałem zwyczaj uruchamiać polecenia z projektu potomnego i nie uruchomiłem instalacji na rodzicu.
źródło
mvn install
na urządzeniu nadrzędnym można również dodawać-N
operacje nierekurencyjne. Spowoduje to, że maven pominie wszystkie moduły (w tym jeden, który zawodzi) i po prostu wykonainstall
cel dla rodzica.mvn install
w rodzicielskiej pom. Czy nie można tego użyć tylko po to, aby można było pobrać zależność od rodzeństwa? Jeśli zdarzyło się, że poszedłeś do katalogu rodzeństwa i pobiegłeśmvn install
stamtąd, aby słoik znalazł się w lokalnym repozytorium, czy to nie robi dokładnie tego samego?Miał ten sam problem z IntelliJ IDEA i następujące działały.
File
Settings
Build, Execution, Deployments
Build Tools
z menu rozwijanegoMaven
z menu rozwijanegoAlways update snapshots
pole wyboruźródło
Jeśli używasz Eclipse, kliknij prawym przyciskiem myszy swój projekt -> Maven -> Aktualizuj projekt . Otworzy się okno dialogowe Aktualizuj projekt Maven.
W tym oknie dialogowym zaznacz pole wyboru Wymuś aktualizację migawek / wydań i kliknij OK . (Patrz zdjęcie poniżej)
To zadziałało dla mnie!
źródło
Jeśli używasz zaćmienia, kliknij prawym przyciskiem myszy projekt -> właściwości -> Maven i upewnij się, że nie kliknięto opcji „ Rozwiąż zależności od projektów obszaru roboczego ”.
Mam nadzieję że to pomoże.
źródło
Wiem, że spóźniłem się na rozmowę, ale miałem też ten problem. Myślę, że problemem był firewall mojej firmy. Moim rozwiązaniem było odłączenie od sieci, połączenie z naszą otwartą siecią bezprzewodową, a następnie wymuszenie aktualizacji przez Eclipse. To rozwiązało wszystko.
źródło
Miałem ten sam problem z zaćmieniem, w którym wiersz polecenia kompilacji maven działał dobrze, ALE spróbuj tego
Błąd znika ... dlaczego moja linia komend mvn działała z tymi katalogami i zaćmienie .m2eclipse nie mogło, nie mam pojęcia i to trochę do bani. Mój projekt znów działa w zaćmieniu.
źródło
mvn clean install
działałoMiałem ten sam problem przy użyciu IntelliJ. Rozwiązałem kliknięcie prawym przyciskiem myszy pom.xml> Maven> Reimport
źródło
Rozwiązałem ten problem, usuwając z folderów repozytorium, gdzie ten błąd był pokazywany wszystko oprócz plików .jar i .pom.
źródło
Problemy „Nie udało się odczytać deskryptora artefaktu” zazwyczaj wskazują na problem z plikiem pom zależności w repozytorium maven. Sugeruję, abyś dokładnie sprawdził, czy nazwa pliku pom jest taka sama, jak nazwa maven oczekuje, a także by sprawdzić, czy zawartość pliku pom jest poprawna.
źródło
Dla mnie było to związane z ustawieniem „User Setting.xml” w środku
źródło
Mam projekt
Teraz w naszej organizacji jest inny projekt
(Każdy moduł a1, b1 itd. Oraz projekty nadrzędne A, B mają własne pom.xml zgodnie ze standardowymi zasadami maven nadrzędnego i podrzędnego)
Oba projekty są sprawdzane na moim lokalnym zaćmieniu (z SVN). Aktywnie pracuję nad A.
Dowiedziałem się, że w B jest dobra wspólna funkcjonalność (b4) i musiałem z niej korzystać.
Deweloper b4 wdrożył ten moduł b4 jako artefakt w repozytorium naszej organizacji. Uwzględniłem zależność od POM modułu, tj. Pom.xml a2. Eclipse pobrał wymagany artefakt z repozytorium i mogłem w nim zaimportować klasy.
Teraz zaczyna się problem ... Musiałem sprawdzić kod źródłowy b4 w jakimś celu, a ponieważ miałem już B wypisane na moim lokalnym zaćmieniu, zaktualizowałem go z SVN i wypisałem moduł b4. Uruchomiłem także pom.xml modułu b4 z celami takimi jak clean, package itp. Po pewnym czasie, kiedy skończyłem kodowanie, musiałem utworzyć JAR mojego modułu a2. Uruchomiłem „pakiet” na pom.xml a2 i BAM !! błędy n błędy dla modułu a2. Te błędy również nie były zbyt przyjazne dla użytkownika. Jedyną rzeczą jest to, że w dziennikach na pewno była nazwa b4.
Rozwiązanie: Po wielu godzinach próbowania wielu rozwiązań, uruchomiłem „mvn -U clean install” z konsoli w katalogu projektu mojego B (tj. W ../codebase/B). Ponieważ B jest nadrzędny, uruchomiono polecenie czystej instalacji dla wszystkich modułów, w tym b4, i przebiegło pomyślnie. Potem uruchomiłem „mvn -U clean install” dla mojego projektu nadrzędnego, którym jest A. I to zadziałało! Moduł a2 został pomyślnie skompilowany, zainstalowany (spakowany później).
Ważną kwestią było to, że jeśli b4 jest w twoim obszarze roboczym, nie tylko instaluj b4. Musisz wyczyścić i zainstalować kompletny B. Podszedłem do tego rozwiązania po przeczytaniu odpowiedzi Zuilla
EDYCJA: Jeszcze jedna rzecz, aby zauważyć, że jeśli nie miałbym projektu B sprawdzonego w środowisku lokalnym, ten problem mógł nie wystąpić. Wydaje mi się, że tak się stało, ponieważ kazałem B sprawdzić w moim lokalnym obszarze roboczym.
źródło
Wspominasz o dwóch różnych grupach
com.morrislgn.merchandising.common
icom.johnlewis.jec.webpim.common
. Może to jest problem.źródło
Odnośnik Błąd Maven „Nie udało się przesłać ...”
źródło
Nie udało się zaktualizować za pomocą zaćmienia. Musiałem użyć mvn czystej instalacji -U (która rozwiązała wszystko).
źródło
Dla mnie wydaje się to być problemem z zależnością POM.
Obejrzałem to przy użyciu wirtualnego repozytorium jitpack, z którym można dołączyć repozytoria github na podstawie ich adresu URL zamiast własnego POM (co w moim przypadku wydaje się być błędne).
źródło
Przez pewien czas miałem ten sam problem i pomimo tego
mvn -U clean install
jego rozwiązania problem nie został rozwiązany!W końcu rozwiązałem problem, usuwając całość
.m2
folder, a następnie ponownie uruchomiłem IDE i problem zniknął!Czasami więc problem pojawiałby się z powodu pewnych niezgodności lub problemów w lokalnym repozytorium maven.
źródło
W naszym przypadku błąd pojawił się z powodu nieprawidłowej zmiany nazwy groupId podczas gdy niektóre projekty w wielomodułowej konfiguracji Maven odwołują się do innych.
Mieliśmy projekt agregatora (
billing-parent
) z dwoma modułami (billing-api
,billing
):Projekt
billing
zależy odbilling-api
. Więc w jegopom.xml
miał:Postanowiliśmy zmienić nazwę groupId od
com.company.team
docom.company.team.billing
. Zastąpiliśmy starą wartość w rodzicachpom.xml
i<parent>
sekcjach obu modułów. Ale zapomniałem zaktualizować zależność powyżej. Mamy więc konfigurację, w którejbilling
projekt odwołuje się do staregobilling-api
artefaktu. W końcu dziób budujebilling
moduł po pewnym czasie z błędem jak[ERROR] Failed to execute goal on project billing: Could not resolve dependencies for project com.company.team.billing:billing:jar:3.5.1-SNAPSHOT: Failed to collect dependencies at com.company.team:billing-api:jar:3.5.1-SNAPSHOT: Failed to read artifact descriptor for com.company.team:billing-api:jar:3.5.1-SNAPSHOT: Failure to find <parent of the com.company.team:billing-parent project which is not available any more>
pomimo tego, że
billing-api
moduł buduje się bez błędów.Rozwiązanie 1: zmień także nazwę
groupId
wdependency
.Rozwiązanie 2: zastąpienie
groupId
przez${project.groupId}
własności takiego:Wniosek. Tak więc moja rada na wypadek napotkania błędu w konfiguracji wielomodułowej może być: dokładnie sprawdzić
groupId
iartifactId
zależności od sąsiednich modułów.źródło
Nawiguj przez powłokę w folderze projektu i uruchom następujące polecenie:
Zwykle powinno to już rozwiązać problem.
Jeśli zobaczysz taki komunikat:
Następnie wykonaj:
śledzony przez:
ponownie, aby w końcu zaktualizować swoje zależności.
Następnie wykonaj kompilację czystego maven:
źródło
Miałem podobny problem. W moim przypadku wersja testng w moim folderze .m2 / repositories była uszkodzona, ale kiedy go usunąłem i ponownie wykonałem aktualizację mavena, wszystko działało dobrze.
źródło
Miałem ten problem w zaćmieniu,
mvn -U clean install
nie działałem, ale kliknąłem projekt prawym przyciskiem myszy i wybrałem Maven-> Aktualizuj projekt.źródło
Właśnie zacząłem używać STS Eclipse przy pierwszym użyciu Maven. Projekt, który skonfigurowałem, miał już swój własny plik settings.xml. W takim przypadku należy zaktualizować plik settings.xml w konfiguracji uruchamiania.
kliknij prawym przyciskiem myszy plik pom.xml i „Uruchom jako” -> „Uruchom konfiguracje ...”
tam, gdzie jest napisane „Ustawienia użytkownika”, kliknij przycisk Plik i dodaj plik settings.xml.
Myślę, że jest to specyficzne dla twojego projektu, ale moje „Cele” są ustawione na „czystą instalację” i zaznaczyłem „Pomiń testy”.
źródło
Ten błąd zasadniczo mówi, że maven nie mógł odczytać określonej zależności z lokalnego repozytorium. Może się to zdarzyć, ponieważ plik jar nie został poprawnie pobrany. Przejdź do lokalnego repozytorium maven i upewnij się, że nie ma pliku rozszerzenia .lastUpdated .
źródło
Pomogło mi to:
Z IDE (w moim przypadku Red Hat CodeReady Studio).
Windows -> Pokaż widok -> Terminal -> Otwórz / Dodaj terminal lokalny
Uruchom polecenia w następujący sposób>
$
cd /pom-file-path/
$
mvn -U clean install
źródło
Rozwiązałem ten problem, zmieniając plik maven setting.xml i repozytorium
źródło