Zainstalowałem najnowszą wersję maven-3.0.4
w systemie Windows 7 :
Szczegóły instalacji są następujące:
Ścieżka instalacji:
C:\apache-maven-3.0.4
Zmienne środowiskowe to:
M2_HOME C:\apache-maven-3.0.4\apache-maven\src
JAVA_HOME C:\Program Files\Java\jdk-1.7.0_04
Dodane zmienne ścieżki to:
%M2_HOME%\bin;%JAVA_HOME%\bin;
W oknie poleceń pokazuje to tak:
C:\>java -version
java version "1.7.0_04"
Java(TM) SE Runtime Environment (build 1.7.0_04-b22)
Java HotSpot(TM) Client VM (build 23.0-b21, mixed mode, sharing)
C:\>mvn -version
Error: Could not find or load main class org.codehaus.plexus.classworlds.launcher.Launcher
To jedyna wersja na maven zainstalowana na moim komputerze i rozwiązanie podane na wielu blogach, odnoszące się do usunięcia poprzedniej M2_HOME
zmiennej środowiskowej, jest nieważne.
Przeczytałem i wypróbowałem wszystkie rozwiązania podane na blogach takie jak:
ale nadal nie mogę się do tego dostać. Czego w tym wszystkim może brakować? Z góry dziękuję.
zip
i został uszkodzony. Zastąpiony.tar.gz
i działa. Więc kiedyM2_HOME
jest ustawiony poprawnie, naprawdę spróbuj sprawdzić, czy to, co pobrałeś, jest poprawne.Odpowiedzi:
Trafiłem też na ten problem i znalazłem ten artykuł. W przypadku Maven3 zmiana nazwy zmiennej środowiskowej z M2_HOME na M3_HOME załatwiła sprawę. Używam komputera Mac z systemem OSX 10.9 z JDK 1.7. Mam nadzieję że to pomoże.
Uwaga: usuń M2_HOME, jeśli jest już ustawiony. Na przykład:
unset M2_HOME
źródło
unset M2_HOME
.Pomimo odpowiedzi na pytanie, chciałbym dodać, że jeśli otrzymujesz powyższy błąd, upewnij się, że pobrałeś plik binarny .
Plik źródłowy należy pobrać tylko wtedy, gdy jesteś zaawansowanym użytkownikiem i wiesz, jak sobie z nim radzić.
Miałem sporo osób pobierających zły plik, seniorów i juniorów
źródło
Miałem ten sam problem i udało mi się go rozwiązać, ostrożnie przerabiając zmienne środowiskowe:
Ponadto stworzyłem je wszystkie zmienne systemowe , a nie zmienne użytkownika, jak mówią instrukcje Mavena. Kiedy ty
Upewnij się, że zmienne% M2% i% JAVA_HOME% są całkowicie rozwinięte, tj .:
źródło
M2
używana jest zmienna środowiskowa? Mam tylkoJAVA_HOME
iM2_HOME
.M2
zmienna środowiskowa jest czasami używana do wskazania%M2_HOME\bin%
ścieżki, która z kolei jest następnie dodawana do%Path%
zmiennej środowiskowej. Jest to potrzebne, gdymvn.bat
nie można znaleźć pliku wsadowego Maven w%Path%
zdefiniowanych standardowych wpisach. Typowym przypadkiem użycia byłby niestandardowy katalog instalacyjny Mavena.Wystąpił ten problem w dwóch różnych instalacjach Ubuntu 12.04, mimo że instalacje były wykonywane przez apt-get. Problem był M2_HOME.
Naprawiono za pomocą:
źródło
export M2_HOME=/usr/share/maven
. Jak wskazał @jimkont, czasami jest to maven2 lub maven3 (jeśli oczywiście zainstalowałeś maven3).Uważam, że ten błąd spowodowany jest pobieraniem SRC zamiast BINARY ze strony Maven. Upewnij się, że pobierasz plik Binary zip.
Ponieważ poniższą ścieżkę otrzymasz dopiero po pobraniu SRC:
źródło
Wygląda na to, że zainstalowałeś (rozpakowałeś) pliki źródłowe zamiast plików binarnych na podstawie informacji o ścieżce. Spróbuj zamiast tego zainstalować pliki binarne i postępować zgodnie z odpowiedziami innych plakatów.
źródło
Cóż, miałem ten problem i po obejrzeniu tego posta, a zwłaszcza odpowiedzi khmarbaise, zauważyłem, że
M2_HOME
taka potem zdecydowałem się na to
Chciałbym wspomnieć, że używam Windows 7 (x64)
źródło
Rozwiązanie dla późniejszych wersji Maven jest proste. Jestem na OS X ElCap, 10.11.6 i zaktualizowałem do Maven 3.3.9. Miałem ten sam problem z błędem „
Could not find ...org.codehaus.plexus...
”. Podany tutaj link oferował rozwiązanie w komentarzu McKameya - po prostu usuń M2_HOME (unset M2_HOME
). Kiedy już tego spróbowałem, wszystko działało zgodnie z oczekiwaniami.Można to potwierdzić odwiedzając
Maven install page
: „Dodaj katalog bin utworzonego katalogu apache-maven-3.3.9 do zmiennej środowiskowej PATH” - w ogóle nie ma wzmianki o M2_HOME lub M3_HOME.źródło
Powinieneś zmienić lokalizację M2_HOME na następującą:
Ponadto instalacja JDK wygląda bardziej jak JRE zamiast JDK. Do Mavena potrzebujesz JDK, a NIE JRE.
źródło
Natknąłem się na podobny problem na moim Mac OSX. Po serii prób i błędów w końcu rozwiązałem problem.
Mój
~/.bash_profile
wyglądał taka kiedy próbowałem
echo M2_HOME
z terminalu, pokazywał mi poprawną ścieżkę, ale kiedy próbowałem odpalić jakąkolwiek komendę maven, taką jakmvn clean
lubmvn install
, zawsze dawało ten sam problemRozwiązałem ten problem, zmieniając mój
M2_HOME
na tenI voila! Zaczęło działać! Po prostu przesuwając pozycję
/bin
z M2_HOME na przedPATH
źródło
Po prostu upewnij się, że pobrałeś binarne archiwum zip (apache-maven-3.5.0-bin.zip) zamiast źródłowego archiwum zip. Następnie dodaj katalog bin utworzonego katalogu apache-maven-3.5.0 do zmiennej środowiskowej PATH.
źródło
W przypadku większości problemów z konfiguracją Mavena, takich jak „Nie można znaleźć lub załadować klasy głównej ...”, zacznij od poniższych kroków, aby sprawdzić, czy to rozwiązuje:
następnie...
źródło
Miałem ten sam problem. Mam pudełko z systemem Windows XP i kiedy pisałem
mvn -version
w wierszu poleceń, otrzymałem przerażający komunikat o błędziePotwierdziłem, że moja
M2_HOME
zmienna została ustawiona na ścieżkę, w której Maven został zainstalowany na komputerze i żeecho %path%
potwierdził, że Maven jest na mojej ścieżce.Szukałem rozwiązania godzinami, kiedy natknąłem się na moje rozwiązanie (mówię moje rozwiązanie, ponieważ wiem, że prawdopodobnie nie będzie to rozwiązanie dla wszystkich, którzy otrzymują ten sam błąd).
Skopiowałem ścieżkę przypisaną do mojej
M2_HOME
zmiennej. Otworzyłem okno cmd, wpisałem cd i wkleiłem ścieżkę, którą otrzymałem z mojegoM2_HOME
zmiennej. W tym momencie wiedziałem, że ścieżka jest poprawna, ponieważ została wyświetlona w oknie. W tym momencie wszedłem do polecenia dir i ku mojemu zaskoczeniu otrzymałem błąd File Not Found.Poszedłem do tej ścieżki przez Eksploratora i na pewno były tam pliki. Zauważyłem, że foldery zostały wyblakłe, ale mogłem uzyskać do nich dostęp i zobaczyć pliki w każdym folderze (mam uprawnienia administratora na moim komputerze). Spojrzałem na właściwości folderu nadrzędnego dla Mavena i zobaczyłem, że pole Ukryte jest zaznaczone. Usunąłem czek, zastosowałem i ponownie z powodzeniem wypróbowałem polecenie dir.
Następnie
mvn –version
ponownie wypróbowałem polecenie, ale tym razem otrzymałem oczekiwane wyniki.W końcu utworzyłem plik jar i war, a moja aplikacja internetowa działała pomyślnie na moim lokalnym Tomcacie.
Mam nadzieję, że to pomoże niektórym z was.
źródło
zainstaluj binarną wersję maven rozwiązuje problemy
apache-maven-3.6.1-bin.zip
źródło
Poza tym, co wskazał @khmarbaise, myślę, że błędnie wpisałeś swój JAVA_HOME. Jeśli instalacja została przeprowadzona w domyślnej lokalizacji, nie powinno być znaku „-” (łącznika) między jdk a 1.7.0_04. Tak by się stało
źródło
Dla innych osób, które mogą się na to natknąć, nie zapomnij sprawdzić ~ / .mavenrc pod kątem ustawień M2_HOME lub JAVA_HOME.
źródło
Spróbuj pobrać binarny zip (np. Maven 3.0.5 (Binary zip)) zamiast pełnego źródła z oficjalnej strony Mavena. Upewnij się również, że wiersz poleceń rozpoznaje polecenia Java i javac. Zauważyłem, że zip Maven Source nie zawierał żadnych bibliotek w folderze lib, jednak Binary zip miał je + w folderze rozruchowym, który miał plexus-classworlds-2.4.jar. Być może problem polegał na braku tych bibliotek. W każdym razie pomogło mi to, więc mój M2_HOME to: C: \ Program Files \ Java \ apache-maven-3.0.5, aw PATH umieściłem: C: \ Program Files \ Java \ apache-maven-3.0.5 \ bin.
źródło
Uważam, że ten problem w moim centOS jest spowodowany przez „Oracle Java jest zastępowana przez gcj”, po zmianie domyślnej javy na „Oracle Java” problem został rozwiązany.
źródło
Wygląda na to, że zainstalowałeś pliki źródłowe (ponieważ jest dostępny
src
tylko w plikach źródłowych i nie potrzebujemy go). Spróbuj zainstalować pliki binarne z tam . A następnie ustawić zmienne środowiskowe jak opisano tam . To zadziałało dla mnie. I jestem pewien, że zadziała również dla Ciebie.źródło
Myślę, że pobierasz niewłaściwą wersję. Właśnie spotykam się z tym problemem, żadna metoda nie działa po wyszukiwaniu i wyszukiwaniu. Wreszcie odkryłem, że pobrane przeze mnie maven to źródłowe archiwum zip . Po przejściu do binarnego archiwum zip wszystko jest w porządku.
źródło
Ja też stanąłem przed podobnym problemem. Ale w moim przypadku użyłem folderu apache-maven-3.3.3-src w zmiennych ścieżkowych. Później poprawiłem te z poprawną ścieżką do folderu apache-maven-3.3.3-bin. To rozwiązało problem. Nie mówię, że jest to ten sam błąd zgłoszony tutaj, ale w ten sposób również możesz uzyskać ten błąd i naprawić go. To właśnie próbuję tutaj powiedzieć.
źródło
Otwórz nowy terminal i wykonaj następujące czynności
Następnie wpisz
Możesz to ustawić tak,
./bash_profile
aby robił to automatycznie przy każdym uruchomieniu terminalaźródło
Dokładnie ten sam błąd może pojawić się nawet przy prawidłowych ustawieniach zmiennych środowiskowych, jeśli skopiujesz TYLKO
bin
katalog do katalogu instalacyjnego. To sprawia, żewhich
działa dobrze, a nowicjusze utkną.źródło
Miałem ten problem, gdy używałem Maven 3.5.4 na OpenJDK 11 na Ubuntu. OpenJDK 11 na Ubuntu to właściwie nadal JDK10:
Zainstalowałem OpenJDK z Oracle w /opt/jdk-11.0.1 i uruchomiłem Mavena w ten sposób:
Teraz działa jak urok.
źródło
Miałem problem z samą wtyczką surefire. Powrót do wersji 2.6 działał dla mnie. Wersja 2.18 / 20 / 22.1 dała mi błąd. Teraz wypróbowałem wersję 3.0.0-M1 pewnej wtyczki i działa.
Więc coś jest nie tak w pewnej wersji pomiędzy wersjami 2.6 i 3.0.0. Zakładam, że domyślnie jest zakodowane na stałe coś, co nie powinno.
źródło
Dla mnie, choć brzmi to zabawnie, pomogło po prostu zrestartować
eclipse
...źródło
To zadziałało dla mnie:
Wynik CMD:
Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-24T20: 41: 47 + 02: 00) Strona główna Maven: C: \ apache-maven-3.6.0 \ bin ..
źródło
Napotkałem również następujący błąd w moim systemie (Mac)
Błąd: nie można znaleźć lub załadować klasy głównej org.codehaus.plexus.classworlds.launcher.Launcher
Po kilku przypadkowych przeglądaniach natrafiłem na link „ http://maven.apache.org/install.html ”, który mówi, że „JAVA_HOME” powinno być ustawione na „/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/ Spis treści / Strona główna / jre ”.
Kiedy zmieniłem "JAVA_HOME", jak podano powyżej w ".bash_profile", polecenie "mvn" zaczęło działać, ale polecenie "javac -version" przestało działać.
Po wpisaniu polecenia „javac -version” pojawił się następujący błąd
Nie można znaleźć pliku wykonywalnego w „/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/bin/javac” (-1)
Dlatego wycofałem mój „JAVA_HOME” do „/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home” w „.bash_profile” i dodałem następujący wiersz u góry w skrypcie „mvn”
eksportuj JAVA_HOME = / Library / Java / JavaVirtualMachines / jdk1.8.0_45.jdk / Contents / Home / jre
Teraz zarówno komendy "mvn", jak i "javac" działały poprawnie, ale po uważnej obserwacji skryptu mvn nie mogłem rozróżnić następujących poleceń
/ Library / Java / JavaVirtualMachines / jdk1.8.0_45.jdk / Spis treści / Strona główna / bin / java -classpath /Users/venkatarajeevmandava/Documents/Maven/apache-maven-3.6.1/boot/plexus-classworlds-2.6.0. jar -Dclassworlds.conf = / Users / venkatarajeevmandava / Documents / Maven / apache-maven-3.6.1 / bin / m2.conf -Dmaven.home = / Users / venkatarajeevmandava / Documents / Maven / apache-maven-3.6.1 - Dlibrary.jansi.path = / Users / venkatarajeevmandava / Documents / Maven / apache-maven-3.6.1 / lib / jansi-native -Dmaven.multiModuleProjectDirectory = / Users / venkatarajeevmandava / Documents / Maven / apache-maven-3.6.1 / bin org.codehaus.plexus.classworlds.launcher.Launcher
/ Library / Java / JavaVirtualMachines / jdk1.8.0_45.jdk / Contents / Home / jre / bin / java -classpath /Users/venkatarajeevmandava/Documents/Maven/apache-maven-3.6.1/boot/plexus-classworlds-2.6. 0.jar -Dclassworlds.conf = / Users / venkatarajeevmandava / Documents / Maven / apache-maven-3.6.1 / bin / m2.conf -Dmaven.home = / Users / venkatarajeevmandava / Documents / Maven / apache-maven-3.6. 1 -Dlibrary.jansi.path = / Users / venkatarajeevmandava / Documents / Maven / apache-maven-3.6.1 / lib / jansi-native -Dmaven.multiModuleProjectDirectory = / Users / venkatarajeevmandava / Documents / Maven / apache-maven-3.6. 1 / bin org.codehaus.plexus.classworlds.launcher.Launcher
W powyższym pierwsze polecenie spowodowało następujący błąd
Błąd: nie można znaleźć lub załadować klasy głównej org.codehaus.plexus.classworlds.launcher.Launcher
podczas gdy drugie polecenie działało dobrze. Zauważ, że obie powyższe ścieżki mają polecenie "java", podczas gdy jedna pochodzi z "jre", a druga z "jdk"
Inne zmienne globalne są następujące w „.bash_profile”
eksport M2_HOME = / Users / venkatarajeevmandava / Documents / Maven / apache-maven-3.6.1
export PATH = $ PATH: $ M2_HOME / bin
źródło
Jest to częsty problem podczas konfigurowania Mavena. Wszystko, co musisz zrobić, to: -
M2_HOME & M2: - muszą być zadeklarowane jako zmienne systemowe, a nie jako zmienne USER / ADMIN.
Ścieżka: - może to być zmienna systemowa LUB zmienna USER / ADMIN [PATH]. Preferowana zmienna systemowa.
Po dokładnym ustawieniu tych 3 zmiennych możesz zweryfikować instalację Mavena, jak poniżej.
Po monicie CMD: -
C: \ Documents and Settings \ ADMINISTRACJA> mvn --version
Wynik :-
Apache Maven 2.0.11 (r909250; 2010-02-12 11: 25: 50 + 0530) Wersja Java: 1.6.0_22 Strona główna Java: C: \ Program Files \ Java \ jdk1.6.0_22 \ jre Domyślne ustawienia regionalne: en_US, platforma kodowanie: Cp1252 Nazwa systemu operacyjnego: „windows xp” wersja: „5.1” arch: „x86” Rodzina: „windows”
Dzięki.
źródło
Obok być może przydatnych, ale być może zbyt symptomatycznych odpowiedzi, oto ta, która próbuje pomóc znaleźć przyczynę problemu.
Maven to narzędzie Java uruchamiane z wiersza poleceń. Oznacza to, że nie jest to samodzielny plik binarny, jest to zbiór java
.jar
, interpretowanych przez jvm (java.exe
w systemie Windows,java
na Linuksie).mvn
Poleceń, to skrypt. W systemie Windows jest to skrypt o nazwie,mvn.cmd
aw systemie Linux jest to skrypt powłoki. Zatem jeśli napiszesz:mvn install
co się stanie:/bin/sh
lubcmd.exe
)Problem jest z (2). Na szczęście ten skrypt jest po prostu bardzo prosty. Dla programisty Java nie powinno być dużym problemem debugowanie skryptu w około 20 liniach, nawet jeśli jest to trochę obcy język.
W Linuksie możesz debugować skrypty
-x
powłoki, podając flagę swojemu interpreterowi powłoki (co jest najprawdopodobniejbash
). W systemie Windows musisz znaleźć inny sposób debugowaniacmd.exe
skryptu. Więc zamiastmvn install
wydawać poleceniebash -x mvn install
.Wynik będzie taki:
... nie tak wiele rzeczy ...
Na koniec możesz łatwo przetestować, która zmienna środowiskowa poszła źle i możesz bardzo łatwo naprawić skrypt (lub ustawić to, co jest potrzebne).
źródło