Jak ręcznie zainstalować Maven w systemie Mac OS X? Napraw błąd UnsupportedClassVersion: org/apache/maven /cli/MavenCli
Opublikowany: 2019-01-06Budowanie Mavena jest pierwszym pomysłem, jaki robimy po codziennej pracy nad kodem. Zwykle wykonuję Maven Build setki razy dziennie. Jak mogłeś zauważyć, w Crunchify prawie wszystkie nasze projekty są oparte na Maven.
Maven to jedna z najlepszych rzeczy, jakie przydarzyły się społeczności Java Developer.
Dzięki prostej maven clean install
, maven clean deploy
i większej liczbie poleceń, Twój projekt Word po prostu buduje i wdraża ze wszystkimi zależnościami. Maven pobiera wszystkie pobrane zależności na ścieżkę określoną w pliku settings.xml.
Czy masz nowego Macbooka Pro i czy Twój Mac działa na najnowszej wersji Mac OS X? Jeśli tak, to nie jest domyślnie dostarczane z zainstalowanym Mavenem.
Spójrz na to
1 2 3 4 5 |
bash - 3.2 $ mvn clean install bash : mvn : command not found bash - 3.2 $ mvn eclipse : eclipse bash : mvn : command not found |
Jeśli masz jakiekolwiek z poniższych pytań, jesteś we właściwym miejscu:
- Maven – Instalacja Apache Maven
- Jak zainstalować Maven na Mac OSX
- Jak upewnić się, że maven jest zainstalowany w Mac?
- Jak zainstalować Mavena na Mac OS X bez Homebrew?
W tym samouczku omówimy kroki, jak zainstalować Maven na Mac OS X. Zacznijmy:
Krok 1
Pobierz najnowszą wersję Mavena apache-maven-3.6.0-bin.tar.gz
z oficjalnej strony.
Do pobrania używamy wget command
.
Oto lokalizacja pobierania kopii lustrzanych: http://mirrors.koehn.com/apache/maven/maven-3/3.6.0/binaries/apache-maven-3.6.0-bin.zip
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
bash - 3.2 $ mkdir ~ / crunchify bash - 3.2 $ cd ~ / crunchify / bash - 3.2 $ pwd / Users / ashah / crunchify bash 3.2 $ wget http : //mirrors.koehn.com/apache/maven/maven-3/3.6.0/binaries/apache-maven-3.6.0-bin.zip -- 2019 - 01 - 17 21 : 20 : 50 -- http : //mirrors.koehn.com/apache/maven/maven-3/3.6.0/binaries/apache-maven-3.6.0-bin.zip Resolving mirrors . koehn . com ( mirrors . koehn . com ) . . . 209.240.109.238 Connecting to mirrors . koehn . com ( mirrors . koehn . com ) | 209.240.109.238 | : 80... connected . HTTP request sent , awaiting response . . . 200 OK Length : 9102386 ( 8.7M ) [ application / zip ] Saving to : ‘ apache - maven - 3.6.0 - bin . zip ’ apache - maven - 3.6.0 - bin . zip 100 % [ ========================================================================== > ] 8.68M 3.25MB / s in 2.7s 2019 - 01 - 17 21 : 20 : 53 ( 3.25 MB / s ) - ‘ apache - maven - 3.6.0 - bin . zip ’ saved [ 9102386 / 9102386 ] |
Powyższe polecenie pobierze plik .zip do folderu /Users/ashah/crunchify
.
Krok 2
Przejdź do folderu ~/crunchify/
lub /Users/ashah/crunchify
.
Wyodrębnij plik apache-maven-3.6.0-bin.zip za pomocą polecenia unzip.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
bash - 3.2 $ cd ~ / crunchify bash - 3.2 $ unzip apache - maven - 3.6.0 - bin . zip Archive : apache - maven - 3.6.0 - bin . zip creating : apache - maven - 3.6.0 / creating : apache - maven - 3.6.0 / lib / creating : apache - maven - 3.6.0 / lib / jansi - native / creating : apache - maven - 3.6.0 / lib / jansi - native / freebsd32 / creating : apache - maven - 3.6.0 / lib / jansi - native / freebsd64 / creating : apache - maven - 3.6.0 / lib / jansi - native / linux32 / creating : apache - maven - 3.6.0 / lib / jansi - native / linux64 / creating : apache - maven - 3.6.0 / lib / jansi - native / osx / creating : apache - maven - 3.6.0 / lib / jansi - native / windows32 / creating : apache - maven - 3.6.0 / lib / jansi - native / windows64 / creating : apache - maven - 3.6.0 / bin / creating : apache - maven - 3.6.0 / conf / |

Krok 3
Następną rzeczą jest ustawienie ścieżki klasy.
Skonfiguruj ścieżkę klasy maven do zmiennej środowiskowej, aktualizując plik .bash_profile
.
1 |
bash - 3.2 $ sudo vi ~ / . bash_profile |
Dodaj poniżej dwie linie i zapisz plik.
1 2 |
export M2_HOME =/ Users / ashah / crunchify / apache - maven - 3.6.0 export PATH = $ PATH : $ M2_HOME / bin |
Krok 4
Jak przeładować .bash_profile
z wiersza poleceń?
1 |
bash - 3.2 $ source ~ / . bash_profile |
Lub wykonaj poniższe polecenie.
1 |
bash - 3.2 $ . ~ / . bash_profile |
Krok-5
Teraz spróbuj ponownie mvn -version
i wszystko gotowe.
1 2 3 4 5 6 7 8 |
bash - 3.2 $ mvn - version Apache Maven 3.6.0 ( 97c98ec64a1fdfee7767ce5ffb20918da4f719f3 ; 2018 - 10 - 24T13 : 41 : 47 - 05 : 00 ) Maven home : / Users / ashah / crunchify / apache - maven - 3.6.0 Java version : 1.8.0_191 , vendor : Oracle Corporation , runtime : / Library / Java / JavaVirtualMachines / jdk1 . 8.0_191.jdk / Contents / Home / jre Default locale : en_US , platform encoding : UTF - 8 OS name : "mac os x" , version : "10.14.2" , arch : "x86_64" , family : "mac" bash - 3.2 $ |
W obliczu tego błędu?
Czy pojawia się poniżej błąd podczas uruchamiania polecenia mvn -version
?
1 2 3 4 5 6 7 |
bash - 3.2 $ mvn - version Exception in thread "main" java . lang . UnsupportedClassVersionError : org / apache / maven / cli / MavenCli : Unsupported major . minor version 51.0 at java . lang . ClassLoader . defineClass1 ( Native Method ) at java . lang . ClassLoader . defineClassCond ( ClassLoader . java : 637 ) at java . lang . ClassLoader . defineClass ( ClassLoader . java : 621 ) at java . security . SecureClassLoader . defineClass ( SecureClassLoader . java : 141 ) at java . net . URLClassLoader . defineClass ( URLClassLoader . java : 283 ) |
Problem polega na tym, że nie ustawiłeś poprawnie JAVA_HOME
na Macu. Aby to naprawić, dodaj poniższą linię do .bash_profile
przed export M2_HOME
.
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home
W moim przypadku moja instalacja JDK to jdk1.8.0_91.jdk
, upewnij się, że wpisałeś swoją.
plik .bash_profile ze ścieżką JDK:
1 2 3 |
export JAVA_HOME =/ Library / Java / JavaVirtualMachines / jdk1 . 8.0_191.jdk / Contents / Home export M2_HOME =/ Users / ashah / crunchify / apache - maven - 3.6.0 export PATH = $ PATH : $ M2_HOME / bin |
I wszystko gotowe.
Po prostu spróbuj uruchomić mavena, a nie zobaczysz żadnego problemu. Mam nadzieję, że ten samouczek pomoże Ci szybko i łatwo skonfigurować ścieżkę Maven na Mac OSX.