Я установил последнюю версию maven-3.0.4
в Windows 7 :
подробности установки:
Путь установки:
C:\apache-maven-3.0.4
Переменные среды:
M2_HOME C:\apache-maven-3.0.4\apache-maven\src
JAVA_HOME C:\Program Files\Java\jdk-1.7.0_04
Добавлены переменные пути:
%M2_HOME%\bin;%JAVA_HOME%\bin;
В командном окне это выглядит так:
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
Это единственная версия на maven, установленная на моем ПК, и решение, данное во многих блогах, ссылающихся на удаление предыдущей M2_HOME
переменной среды, недопустимо.
Я прочитал и попробовал все решения, приведенные в блогах, такие как:
но до сих пор не смог добраться до него. Чего мне не хватает во всем этом? Заранее спасибо.
zip
и он сломался. Заменил на.tar.gz
и все работает. Так что, когдаM2_HOME
установлен правильно, попробуйте проверить, что вы скачали правильно.Ответы:
Я тоже столкнулся с этой проблемой и нашел эту статью. Для Maven3 смена имени переменной среды с M2_HOME на M3_HOME сделала свое дело. Я на Mac под управлением OSX 10.9 с JDK 1.7. Надеюсь это поможет.
Примечание: пожалуйста, удалите M2_HOME, если он уже установлен. Например:
unset M2_HOME
источник
unset M2_HOME
,Несмотря на ответ на вопрос, я хотел бы добавить, что, если вы получаете вышеупомянутую ошибку, убедитесь, что вы загрузили двоичный файл .
Исходный файл следует загружать только в том случае, если вы являетесь опытным пользователем и знаете, как с ним обращаться.
У меня было довольно много людей, загружающих неправильный файл, старшие и младшие
источник
У меня была такая же проблема, и я смог ее решить, тщательно переделав переменные среды:
Кроме того, я создал все системные переменные, а не пользовательские, как сказано в инструкциях Maven. Когда ты
Убедитесь, что вы видите полностью развернутые переменные% M2% и% JAVA_HOME%, а именно:
источник
M2
используется переменная среды? У меня есть толькоJAVA_HOME
иM2_HOME
.M2
переменная окружения иногда используется для указания%M2_HOME\bin%
пути, который, в свою очередь, затем добавляется в%Path%
переменную окружения. Это необходимо, когда пакетный файл Mavenmvn.bat
не может быть найден в определенных стандартных%Path%
записях. Типичным вариантом использования будет нестандартный каталог установки для Maven.Эта проблема возникла на двух разных установках Ubuntu 12.04, несмотря на то, что установки выполнялись apt-get. Проблема была M2_HOME.
Исправлено с помощью:
источник
export M2_HOME=/usr/share/maven
. Как указывал @jimkont, иногда это maven2 или maven3 (если вы, конечно, установили maven3).Я считаю, что эта ошибка вызвана загрузкой SRC вместо BINARY с сайта Maven. Пожалуйста, не забудьте скачать Binary Zip.
Поскольку путь ниже, вы получите только при загрузке SRC:
источник
Похоже, вы установили (извлекли) исходные файлы вместо двоичных файлов, основываясь на информации о вашем пути. Попробуйте вместо этого установить двоичные файлы и следуйте ответам других авторов.
источник
Ну, у меня была эта проблема, и после просмотра этого поста и особенно ответа на вопрос, я заметил, что это
M2_HOME
былоа потом я заправил его
Я хотел бы отметить, что я использую Windows 7 (x64)
источник
Решение для более поздних версий Maven простое. Я на OS X ElCap, 10.11.6 и обновлен до Maven 3.3.9. У меня была такая же проблема с ошибкой "
Could not find ...org.codehaus.plexus...
". Ссылка, предоставленная здесь, предложила решение в комментарии McKamey - просто удалите M2_HOME (unset M2_HOME
). Как только я это попробовал, все заработало как положено.Это можно подтвердить, посетив
Maven install page
: «Добавить каталог bin созданного каталога apache-maven-3.3.9 в переменную среды PATH» - вообще не упоминается M2_HOME или M3_HOME.источник
Вы должны изменить местоположение M2_HOME на следующее:
Кроме того, установка JDK выглядит скорее как JRE, а не JDK. Для Maven вам нужен JDK, а не JRE.
источник
Я столкнулся с похожей проблемой на моем Mac OSX. После серии проб и ошибок я, наконец, решил ее.
Мой
~/.bash_profile
выглядел вот таки когда я пытался выйти
echo M2_HOME
из терминала, он показал мне правильный путь, но когда я пытался запустить любую команду maven, например,mvn clean
илиmvn install
, это всегда вызывало одну и ту же проблему.Я решил эту проблему, изменив мою
M2_HOME
на этуИ вуаля! Это начало работать! Просто переместив позицию
/bin
из M2_HOME в передPATH
источник
Просто убедитесь, что вы загрузили бинарный zip-архив (apache-maven-3.5.0-bin.zip) вместо исходного zip-архива. Затем добавьте каталог bin созданного каталога apache-maven-3.5.0 в переменную среды PATH.
источник
Для большинства проблем установки Maven что-то вроде «Не удалось найти или загрузить основной класс ...», начните с следующих шагов, чтобы увидеть, исправляет ли это:
затем...
источник
Я была такая же проблема. У меня Windows XP поле, и когда
mvn -version
я набрал в командной строке, я получил страшное сообщение об ошибкеЯ подтвердил, что моей
M2_HOME
переменной был задан путь, по которому Maven был установлен на ПК, иecho %path%
подтвердил, что Maven находится на моем пути.Я искал решение в течение нескольких часов, когда я наткнулся на свое решение (я говорю, что мое решение, потому что я знаю, что это, вероятно, не будет решением для всех, кто получает ту же ошибку).
Я скопировал путь, который был назначен моей
M2_HOME
переменной. Я открыл окно cmd и набрал cd и вставил путь, который получил от моегоM2_HOME
переменной. В тот момент я знал, что путь был правильным, потому что путь отображался в окне. В этот момент я ввел команду dir и, к своему удивлению, получил ошибку File Not Found.Я пошел по этому пути через Проводник и, конечно же, там были файлы. Я заметил, что папки исчезли, но я мог получить к ним доступ и просмотреть файлы в каждой папке (у меня есть права администратора на моем компьютере). Я посмотрел на свойства родительской папки для Maven и увидел, что флажок Скрытый установлен. Я снял чек и применил и снова попытался успешно выполнить команду dir.
Затем я попробовал
mvn –version
команду еще раз, но на этот раз я получил ожидаемые результаты.Наконец, я создал файл jar и war, и мое веб-приложение успешно запустилось на моем локальном Tomcat.
Я надеюсь, что это поможет некоторым из вас там.
источник
установить бинарную версию maven исправляет проблемы
apache-maven-3.6.1-bin.zip
источник
Кроме того, на что @khmarbaise указал, я думаю, что вы опечатали свой JAVA_HOME. Если вы установили в папку по умолчанию, то между jdk и 1.7.0_04 не должно быть "-" (дефис). Так было бы
источник
Для других людей, которые могут столкнуться с этим, не забудьте проверить ~ / .mavenrc для настроек M2_HOME или JAVA_HOME.
источник
Попробуйте загрузить бинарный zip (например, Maven 3.0.5 (Binary zip)) вместо полного исходного кода на официальном сайте maven. Также убедитесь, что командная строка распознает команды java и javac. Я заметил, что в Maven Source zip нет никаких библиотек в папке lib, однако в Binary zip они есть +, в папке загрузки - plexus-classworlds-2.4.jar. Возможно, проблема была в отсутствии этих библиотек. В любом случае это помогло мне, поэтому мой M2_HOME: C: \ Program Files \ Java \ apache-maven-3.0.5 и в PATH я поставил: C: \ Program Files \ Java \ apache-maven-3.0.5 \ bin.
источник
Я обнаружил, что эта проблема в моем centOS вызвана «Oracle Java is заменяется на gcj», после изменения java по умолчанию на «Oracle Java» проблема решена.
источник
Похоже, что вы установили исходные файлы (потому что
src
входят только в исходные файлы, и нам это не нужно). Попробуйте установить бинарные файлы из там . А затем установите переменные среды, как описано там . Это сработало для меня. И я уверен, что это также сработает для вас.источник
Я думаю, что вы скачали не ту версию. Я сталкиваюсь с этой проблемой только сейчас, ни один метод не работает после поиска и поиска. Наконец, я обнаружил, что Maven, который я скачал, является Source zip-архивом . После того, как я перешел на двоичный zip-архив , все прошло хорошо.
источник
Я тоже сталкивался с подобной проблемой. Но в моем случае я использовал папку apache-maven-3.3.3-src в переменных пути. Позже я исправил их, указав правильный путь к папке apache-maven-3.3.3-bin. Это решило проблему. Я не говорю, что это та же ошибка, о которой здесь сообщается, но таким образом вы также можете получить эту ошибку и исправить ее. Вот что я пытаюсь здесь сказать.
источник
Откройте новый терминал и выполните следующие действия.
Затем введите
Вы можете настроить это,
./bash_profile
чтобы делать это автоматически при каждом запуске терминала.источник
Точно такая же ошибка может появиться даже при правильных настройках переменных среды, если вы скопируете ТОЛЬКО
bin
каталог в каталог установки. Это делаетwhich
работу отлично, и новички застревают.источник
У меня была эта проблема, когда я использовал Maven 3.5.4 на OpenJDK 11 на Ubuntu. OpenJDK 11 в Ubuntu на самом деле все еще является JDK10:
Я установил OpenJDK из Oracle в /opt/jdk-11.0.1 и запустил Maven следующим образом:
Теперь это работает как шарм.
источник
У меня была проблема с верным плагином. Возвращение к версии 2.6 работало для меня. Версия 2.18 / 20 / 22.1 выдала мне ошибку. Теперь я попробовал версию 3.0.0-M1 безошибочного плагина, и он работает.
Так что что-то не так в верном плагине между версией 2.6 и 3.0.0. Я предполагаю, что по умолчанию есть что-то жестко закодированное, чего не должно быть.
источник
Для меня, как ни странно, это помогло просто перезапустить
eclipse
...источник
Это сработало для меня:
CMD Результат:
Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-24T20: 41: 47 + 02: 00) Дом Maven: C: \ apache-maven-3.6.0 \ bin ..
источник
Я также столкнулся со следующей ошибкой в моей системе (Mac)
Ошибка: не удалось найти или загрузить основной класс org.codehaus.plexus.classworlds.launcher.Launcher
После некоторого случайного просмотра я наткнулся на ссылку « http://maven.apache.org/install.html », в которой говорится, что «JAVA_HOME» должен быть установлен в «/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/ Содержание / Главная / JRE».
Когда я изменил «JAVA_HOME», как указано выше в «.bash_profile», команда «mvn» начала работать, но команда «javac -version» перестала работать.
Когда я набрал команду "javac -version", я получил следующую ошибку
Невозможно найти исполняемый файл в "/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/bin/javac" (-1)
Поэтому я откатил свой «JAVA_HOME» в «/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home» в «.bash_profile» и добавил следующую строку вверху в скрипте «mvn»
export JAVA_HOME = / Библиотека / Java / JavaVirtualMachines / jdk1.8.0_45.jdk / Содержание / Главная / jre
Теперь обе команды «mvn» и «javac» работали правильно, но после тщательного наблюдения за сценарием mvn я не смог сделать разницу между следующими командами
/ Library / Java / JavaVirtualMachines / jdk1.8.0_45.jdk / Contents / Home / bin / java -classpath /Users/venkatarajeevmandava/Documents/Maven/apache-maven-3.6.1/boot/plexus-classworlds-2.6.0. jar -Dclassworlds.conf = / Пользователи / venkatarajeevmandava / Документы / Maven / apache-maven-3.6.1 / bin / m2.conf -Dmaven.home = / Пользователи / venkatarajeevmandava / Документы / Maven / apache-maven-3.6.1 - Dlibrary.jansi.path = / Users / venkatarajeevmandava / Documents / Maven / apache-maven-3.6.1 / lib / jansi-native -Dmaven.multiModuleProjectDirectory = / Пользователи / venkatarajeevmandava / Documents / Maven / apache-maven-3.6.1 / bin org.codehaus.plexus.classworlds.launcher.Launcher
/ Библиотека / Java / JavaVirtualMachines / jdk1.8.0_45.jdk / Содержание / Главная / 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 = / Пользователи / 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 = / Пользователи / venkatarajeevmandava / Documents / Maven / apache-maven-3.6. 1 / bin org.codehaus.plexus.classworlds.launcher.Launcher
В приведенном выше первая команда вызвала следующую ошибку
Ошибка: не удалось найти или загрузить основной класс org.codehaus.plexus.classworlds.launcher.Launcher
в то время как вторая команда работала нормально. Обратите внимание, что оба вышеуказанных пути имеют команду "java", в то время как один из "jre", другой из "jdk"
Другие глобальные переменные следующие в ".bash_profile"
export M2_HOME = / Пользователи / venkatarajeevmandava / Документы / Maven / apache-maven-3.6.1
экспорт PATH = $ PATH: $ M2_HOME / bin
источник
Это общая проблема при настройке Maven. Все, что вам нужно сделать, это ниже: -
M2_HOME & M2: - должны быть объявлены как системные переменные, а не как переменные USER / ADMIN.
Путь: - Это может быть системная переменная ИЛИ переменная USER / ADMIN [PATH]. Предпочтительно системная переменная.
После того, как вы тщательно настроите эти 3 переменные, вы можете проверить установку Maven, как показано ниже.
На CMD Подсказка: -
C: \ Documents and Settings \ ADMIN> mvn --version
Вывод :-
Apache Maven 2.0.11 (r909250; 2010-02-12 11: 25: 50 + 0530) Версия Java: 1.6.0_22 Домашняя страница Java: C: \ Program Files \ Java \ jdk1.6.0_22 \ jre Локаль по умолчанию: en_US, платформа кодировка: Cp1252 Имя ОС: "windows xp" версия: "5.1" arch: "x86" Семейство: "windows"
Спасибо.
источник
Рядом с, возможно, полезными, но, возможно, слишком симптоматичными ответами, вот тот, который пытается помочь найти причину проблемы.
Maven - это Java-инструмент командной строки. Это означает, что это не отдельный двоичный файл, это коллекция java
.jar
, интерпретируемая jvm (java.exe
в windows,java
в linux).Команда
mvn
, это скрипт. В Windows это сценарий,mvn.cmd
а в Linux это оболочка. Таким образом, если вы напишитеmvn install
, что будет:/bin/sh
илиcmd.exe
) вызывается для фактического вызывающего сценарияПроблема в (2). К счастью, этот скрипт просто, очень прост. Для Java-программиста не должно быть большой проблемой отлаживать скрипт в 20 строк, даже если это немного чуждый язык.
В Linux вы можете отлаживать сценарии оболочки, задавая
-x
флаг интерпретатору оболочки (что наиболее вероятноbash
). В Windows вы должны найти другой способ отладкиcmd.exe
скрипта. Так что вместо тогоmvn install
, чтобы дать командуbash -x mvn install
.Результат будет как:
... не так много вещей ...
В конце вы можете легко проверить, какая переменная окружения испортилась, и вы можете очень легко исправить свой сценарий (или установить то, что нужно).
источник