Как установить Maven на Mac OS X вручную? Исправить ошибку UnsupportedClassVersion: org/apache/maven/cli/MavenCli
Опубликовано: 2019-01-06Сборка Maven — это первое, что мы делаем после ежедневной работы над кодовой базой. Обычно я выполняю Maven Build сотни раз в день. Как вы могли заметить, на Crunchify почти все наши проекты основаны на Maven.
Maven — одно из лучших событий, произошедших с сообществом Java-разработчиков.
С помощью простой команды maven clean install
, maven clean deploy
и других команд ваш проект Word просто собирается и развертывается со всеми зависимостями. Maven загружает все загрузки зависимостей по пути, указанному в файле settings.xml.
У вас есть новый Macbook Pro и работает ли ваш Mac на последней версии Mac OS X? Если да, то он не устанавливается по умолчанию с установленным Maven.
Проверь это
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 |
Если у вас есть какие-либо из следующих вопросов, то вы находитесь в правильном месте:
- Maven — установка Apache Maven
- Как установить Maven на Mac OSX
- Как убедиться, что maven установлен на Mac
- Как установить Maven на Mac OS X без Homebrew?
В этом руководстве мы рассмотрим шаги по установке Maven в Mac OS X. Давайте начнем:
Шаг 1
Загрузите последнюю версию Maven apache-maven-3.6.0-bin.tar.gz
с официального сайта.
Мы используем wget command
для его загрузки.
Вот место загрузки зеркала: 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 ] |
Приведенная выше команда загрузит файл .zip в папку /Users/ashah/crunchify
.
Шаг 2
Перейдите в папку ~/crunchify/
или папку /Users/ashah/crunchify
.
Извлеките файл apache-maven-3.6.0-bin.zip с помощью команды 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 / |

Шаг 3
Следующее, что нужно сделать, это настроить путь к классам.
Настройте путь класса maven к вашей переменной среды, обновив файл .bash_profile
.
1 |
bash - 3.2 $ sudo vi ~ / . bash_profile |
Добавьте ниже две строки и сохраните файл.
1 2 |
export M2_HOME =/ Users / ashah / crunchify / apache - maven - 3.6.0 export PATH = $ PATH : $ M2_HOME / bin |
Шаг-4
Как перезагрузить .bash_profile
из командной строки?
1 |
bash - 3.2 $ source ~ / . bash_profile |
Или выполните приведенную ниже команду.
1 |
bash - 3.2 $ . ~ / . bash_profile |
Шаг-5
Теперь попробуйте еще раз mvn -version
, и все готово.
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 $ |
Столкнулись с этой ошибкой?
Вы получаете сообщение об ошибке ниже при выполнении команды 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 ) |
Проблема в том, что вы неправильно установили JAVA_HOME
в Mac. Чтобы исправить это, добавьте строку ниже в .bash_profile
перед export M2_HOME
.
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home
В моем случае моя установка JDK — jdk1.8.0_91.jdk
, убедитесь, что вы ввели свою.
.bash_profile с путем 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 |
И все готово.
Просто попробуйте запустить maven, и вы не увидите никаких проблем. Я надеюсь, что это руководство поможет вам быстро и легко настроить Maven path на Mac OSX.