it-swarm.com.ru

Ошибка Maven: не удалось найти или загрузить основной класс org.codehaus.plexus.classworlds.launcher.Launcher

Я установил последний 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, недопустимо. 

Я прочитал и попробовал все решения, приведенные в блогах, такие как: 

но все еще не в состоянии добраться до него. Чего мне не хватает во всем этом? Заранее спасибо. 

124
manofsins

Я тоже столкнулся с этой проблемой и нашел this article. Для Maven3 смена имени переменной среды с M2_HOME на M3_HOME сделала свое дело. Я на Mac под управлением OSX 10.9 с JDK 1.7. Надеюсь это поможет.

Примечание: пожалуйста, удалите M2_HOME, если он уже установлен. Например: unset M2_HOME

126
Ian

У меня была такая же проблема, и я смог ее решить, тщательно переделав переменные среды: 

  • M2_HOME 
  • M2 
  • Java_home

Кроме того, я сделал их все System Variables, а не User Variables, как сказано в инструкциях Maven. Когда ты 

echo %Path%

Убедитесь, что вы видите полностью раскрытые переменные% M2% и% Java_HOME%, т.е.

C:\Users\afairchild>echo %Path%
C:\Program Files\Apache Software Foundation\Apache-maven-3.0.4\bin;C:\Program Files\Java\jdk1.7.0_09\bin; [etc]
60
Alex Fairchild

Несмотря на то, что на вопрос дан ответ, я хотел бы добавить, что, если вы получаете вышеупомянутую ошибку, убедитесь, что вы загрузили Двоичный файл

Исходный файл следует загружать только в том случае, если вы являетесь опытным пользователем и знаете, как с ним обращаться. 

У меня было довольно много людей, загружающих неправильный файл, старшие и младшие

51
dirbacke

Эта проблема возникала на двух разных установках Ubuntu 12.04, несмотря на то, что установки выполнялись apt-get. Проблема была в M2_HOME.

Исправлено с помощью:

export M2_HOME=/usr/share/maven
47
Joseph Lust

Похоже, вы установили (извлекли) исходные файлы вместо двоичных файлов, основываясь на информации о вашем пути. Попробуйте вместо этого установить двоичные файлы и следуйте ответам других авторов.

19
jdmidtun

Я считаю, что эта ошибка вызвана загрузкой SRC вместо BINARY с сайта Maven. Пожалуйста, не забудьте скачать Binary Zip.

Поскольку путь ниже, вы получите только при загрузке SRC:

M2_HOME C:\Apache-maven-3.0.4\Apache-maven\src

 enter image description here

15
saravp

Ну, у меня была эта проблема, и после просмотра этого поста, и в частности ответа на вопрос о khmarbaise, я заметил, что M2_HOME был 

D:\workspace\Apache-maven-3.1.0-bin\Apache-maven-3.1.0\bin

а потом я заправил его 

D:\workspace\Apache-maven-3.1.0-bin\Apache-maven-3.1.0

Я хотел бы отметить, что я использую Windows 7 (x64) 

13
Adelin

Решение для более поздних версий 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.

5
JESii

Вам следует изменить местоположение M2_HOME на следующее:

set M2_HOME=C:\Apache-maven-3.0.4\Apache-maven

Кроме того, установка JDK выглядит скорее JRE вместо JDK. Для Maven вам нужен JDK, а не JRE.

4
khmarbaise

Я столкнулся с похожей проблемой на моем Mac OSX. После серии проб и ошибок я, наконец, решил ее.

Мой ~/.bash_profile выглядел так

export M2_HOME=/Users/xyz/maven-3.x/bin
export PATH=$PATH:$M2_HOME

и когда я пытался echo M2_HOME из терминала, он показал мне правильный путь, но когда я пытался запустить любую команду maven, такую ​​как mvn clean или mvn install, она всегда вызывала одну и ту же проблему

Не удалось найти или загрузить основной класс org.codehaus.plexus.classworlds.launcher.Launcher

Я решил эту проблему, изменив свой M2_HOME на этот

export M2_HOME=/Users/xyz/maven-3.x
export PATH=$PATH:$M2_HOME/bin

И вуаля! Это начало работать! Просто переместив позицию /bin из M2_HOME в перед PATH

3
Saif Asif

Для большинства проблем установки Maven что-то вроде «Не удалось найти или загрузить основной класс ...», начните с следующих шагов, чтобы увидеть, исправляет ли это:

  • Убедитесь, что вы распаковали нужный архив (архив BINARY, а не архив SOURCE)
  • Удалите все пользовательские и системные переменные, связанные с Maven (например, M2_HOME, M2_OPTS и т.д.)
  • Убедитесь, что системная переменная Java_HOME настроена (например, «C:\Program Files\Java\jdk1.8.0_172»)
  • Убедитесь, что местоположение бина Java добавлено в системную переменную «path» (например, «% Java_HOME%\bin»)
  • Убедитесь, что местоположение maven bin добавлено в системную переменную «path» (например, «C:\MyInstalls\Apache-maven-3.5.4\bin»)

затем...

  • Убедитесь, что Java настроена (в командной строке: Java-версия)
  • Убедитесь, что maven настроен (в командной строке: mvn --version)
2
Sreekanth

Просто убедитесь, что вы загрузили архив Binary Zip (Apache-maven-3.5.0-bin.Zip) вместо архива Source Zip. Затем добавьте каталог bin созданного каталога Apache-maven-3.5.0 в переменную среды PATH.

2
Shaini Sinha

Я была такая же проблема. У меня Windows XP box, и когда я набрал mvn -version в командной строке, я получил ужасное сообщение об ошибке 

"Exception in thread "main" Java.lang.NoClassDefFoundError: org/codehaus/plexus/classworlds/launcher/Launcher"

Я подтвердил, что в моей переменной M2_HOME указан путь, по которому Maven был установлен на ПК, и что echo %path% подтвердил, что Maven находится на моем пути. 

Я искал решение в течение нескольких часов, когда я наткнулся на свое решение (я говорю, что мое решение, потому что я знаю, что это, вероятно, не будет решением для всех, кто получает ту же ошибку). 

Я скопировал путь, который был назначен моей переменной M2_HOME. Я открыл окно cmd, набрал cd и вставил путь, полученный из моей переменной M2_HOME. В тот момент я знал, что путь был правильным, потому что путь отображался в окне. В этот момент я ввел команду dir и, к моему удивлению, получил ошибку File Not Found. 

Я пошел по этому пути через Проводник и, конечно же, там были файлы. Я заметил, что папки исчезли, но я мог получить к ним доступ и просмотреть файлы в каждой папке (у меня есть права администратора на моем компьютере). Я посмотрел на свойства родительской папки для Maven и увидел, что флажок Скрытый установлен. Я снял чек и применил и снова попытался успешно выполнить команду dir.

Затем я снова попробовал команду mvn –version, но на этот раз я получил ожидаемые результаты.

C:\>mvn -version
Apache Maven 3.0.3 (r1075438; 2011-02-28 11:31:09-0600)
Maven home: C:\Program Files\Apache-maven-3.0.3
Java version: 1.5.0_16, vendor: Sun Microsystems Inc.
Java home: C:\Java\jdk1.5.0_16\jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows xp", version: "5.1", Arch: "x86", family: "windows"

Наконец я создал файл jar и war, и мое веб-приложение успешно запустилось на моем локальном Tomcat.

Я надеюсь, что это поможет некоторым из вас там.

2
Lou

Я тоже сталкивался с подобной проблемой. Но в моем случае я использовал папку Apache-maven-3.3.3-src в переменных пути. Позже я исправил их, указав правильный путь к папке Apache-maven-3.3.3-bin. Это решило проблему. Я не говорю, что это та же ошибка, о которой здесь сообщается, но таким образом вы также можете получить эту ошибку и исправить ее. Вот что я пытаюсь здесь сказать.

1
vinoth kumar

Я думаю, что вы скачали неправильную версию . Я столкнулся с этой проблемой только сейчас, после поиска и поиска никакой метод не работает .. Наконец, я обнаружил, что загруженный maven является Source Zip архив . После Я перехожу на Binary Zip архив , все идет хорошо.

1
Mithril

Попробуйте загрузить двоичный 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.

1
Shendor

Я обнаружил, что эта проблема в моем centOS вызвана «Oracle Java is заменяется на gcj», после изменения Java по умолчанию на «Oracle Java» проблема устранена.

alternatives --config Java

There are 2 programs which provide 'Java'.

  Selection    Command
-----------------------------------------------
*  1           /usr/lib/jvm/jre-1.5.0-gcj/bin/Java
 + 2           /usr/Java/jdk1.7.0_67/bin/Java
1
wu liang

Для других людей, которые могут столкнуться с этим, не забудьте проверить ~/.mavenrc для настроек M2_HOME или Java_HOME.

1
JBCP

Кроме того, на что @khmarbaise указал, я думаю, что вы неправильно набрали свой Java_HOME. Если вы установили в папку по умолчанию, то между jdk и 1.7.0_04 не должно быть «-» (дефис). Так было бы

Java_HOME C:\Program Files\Java\jdk1.7.0_04 
1
Raghuram

Похоже, что вы установили исходные файлы (потому что src входит только в исходные файлы, и нам это не нужно). Попробуйте установить Binary Files из там . И затем установите переменные окружения, как описано там . Это сработало для меня. И я уверен, что это также будет работать для вас.

1
Hammad Hassan

У меня была эта проблема, когда я использовал Maven 3.5.4 на OpenJDK 11 на Ubuntu. OpenJDK 11 в Ubuntu на самом деле все еще является JDK10:

$ ls -al /etc/alternatives/Java
lrwxrwxrwx 1 root root 43 Aug 24 04:54 /etc/alternatives/Java -> /usr/lib/jvm/Java-11-openjdk-AMD64/bin/Java
$ Java --version
openjdk 10.0.2 2018-07-17
OpenJDK Runtime Environment (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.3)
OpenJDK 64-Bit Server VM (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.3, mixed mode)

Я установил OpenJDK из Oracle в /opt/jdk-11.0.1 и запустил Maven следующим образом:

Java_HOME=/opt/jdk-11.0.1 mvn

Теперь это работает как шарм.

0
Christian Hujer

Точно такая же ошибка может появиться даже при правильных настройках переменных среды, если вы скопируете ТОЛЬКО каталог bin в каталог установки . Это заставляет which работать нормально, и новички застревают.

0
dytori

Для меня, как ни странно, это помогло просто перезапустить Eclipse...

0
membersound

У меня была проблема с верным плагином. Возвращение к версии 2.6 работало для меня. Версия 2.18/20/22.1 выдала мне ошибку ... Теперь я попробовал версию 3.0.0-M1 с надёжным плагином, и он работает.

Так что что-то не так в верном плагине между версией 2.6 и 3.0.0. Я предполагаю, что по умолчанию есть что-то жестко закодированное, чего не должно быть.

0
Coolius

Это сработало для меня:

  1. Удалить все ссылки Mavin в переменных среды
  2. Скачать Бинарный от Mavin
  3. Разархивируйте его туда, куда вы хотите, например: C:\Apache-maven-3.6.0
  4. Перейдите в переменные окружения и добавьте в System путь к переменной "C:\Apache-maven-3.6.0\bin"
  5. запустить команду «Пригласите администратора»
  6. проверить версию с помощью: mvn -v

CMD Результат:

Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-24T20: 41: 47 + 02: 00) Дом Maven: C:\Apache-maven-3.6.0\bin ..

0
Aberaitius