web-dev-qa-db-fra.com

Erreur Maven: impossible de trouver ou de charger la classe principale org.codehaus.plexus.classworlds.launcher.Launcher

J'ai installé un dernier maven-3.0.4 sur Windows 7:
Les détails de l’installation sont les suivants:
Chemin d'installation: 

C:\Apache-maven-3.0.4  

Les variables d'environnement sont: 

M2_HOME C:\Apache-maven-3.0.4\Apache-maven\src  
Java_HOME C:\Program Files\Java\jdk-1.7.0_04  

Les variables de chemin ajoutées sont les suivantes: 

%M2_HOME%\bin;%Java_HOME%\bin;

Dans la fenêtre de commande, il apparaît comme ceci: 

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  

C'est la seule version de maven installée sur mon PC et la solution fournie sur de nombreux blogs faisant référence à la suppression de la précédente variable d'environnement M2_HOME n'est pas valide. 

J'ai lu et essayé toutes les solutions proposées sur des blogs tels que: 

mais toujours pas capable d'y arriver. Qu'est-ce qui pourrait me manquer dans tout ça? Merci d'avance. 

124
manofsins

Je frappe aussi ce problème et trouve this article. Pour Maven3, changer le nom de ma variable d’environnement de M2_HOME à M3_HOME a été efficace. Je suis sur un Mac sous OSX 10.9 avec JDK 1.7. J'espère que cela t'aides.

Remarque: Veuillez supprimer M2_HOME, s'il est déjà défini. Exemple: unset M2_HOME

126
Ian

J'avais ce même problème et j'ai pu le résoudre en refaisant soigneusement les variables d'environnement: 

  • M2_HOME 
  • M2 
  • Java_HOME

De plus, je les ai toutes faites Système Variables, pas de variables utilisateur comme le disent les instructions Maven. Lorsque vous 

echo %Path%

Assurez-vous que les variables% M2% et% Java_HOME% sont complètement développées, c'est-à-dire:

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

Même si on répond à la question, je voudrais ajouter que, si vous obtenez l’erreur susmentionnée, assurez-vous d’avoir téléchargé le fichier fichier binaire

Le fichier source ne doit être téléchargé que si vous êtes un utilisateur expérimenté et que vous savez comment vous en occuper. 

J'ai eu pas mal de gens qui téléchargeaient le mauvais fichier, seniors et juniors

51
dirbacke

Avait ce problème sur deux installations différentes d'Ubuntu 12.04, malgré les installations effectuées par apt-get. Le problème était M2_HOME.

Fixé avec:

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

On dirait que vous avez installé (extrait) les fichiers source à la place des fichiers binaires en fonction de vos informations de chemin. Essayez d'installer les fichiers binaires à la place et de suivre les réponses des autres affiches.

19
jdmidtun

Je crois que cette erreur est due au téléchargement de SRC au lieu de BINARY depuis le site Maven. Assurez-vous de télécharger Binary Zip.

En raison du chemin ci-dessous, vous n’obtiendrez que lorsque vous téléchargez SRC:

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

 enter image description here

15
saravp

Bien, j’ai eu ce problème et après avoir vu ce post et en particulier la réponse khmarbaise, j’ai remarqué que M2_HOME était 

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

et puis je l'ai chaqué à 

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

Je voudrais mentionner que j'utilise Windows 7 (x64) 

13
Adelin

La solution pour les versions ultérieures de Maven est simple. Je suis sur OS X ElCap, 10.11.6 et mis à niveau vers Maven 3.3.9. J'ai eu le même problème avec l'erreur "Could not find ...org.codehaus.plexus...". Le lien fourni ici offrait la solution dans un commentaire de McKamey - supprimez simplement M2_HOME (unset M2_HOME). Une fois que j'ai essayé, tout a fonctionné comme prévu. 

Cela peut être confirmé en consultant le Maven install page: "Ajoutez le répertoire bin du répertoire créé Apache-maven-3.3.9 à la variable d'environnement PATH" - aucune mention de M2_HOME ou de M3_HOME.

5
JESii

Vous devez modifier l'emplacement de M2_HOME comme suit:

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

De plus, l'installation du JDK ressemble davantage à un JRE qu'à JDK. Pour Maven, vous avez besoin de JDK et PAS de JRE.

4
khmarbaise

Je suis tombé sur un problème similaire sur mon Mac OSX. Après une série d'essais et d'essais d'erreur, je l'ai finalement résolu.

Mon ~/.bash_profile ressemblait à ceci

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

et quand j'ai essayé de echo M2_HOME à partir du terminal, il m'a indiqué le chemin correct, mais quand j'ai essayé de lancer une commande maven telle que mvn clean ou mvn install, le problème était toujours identique

Impossible de trouver ou de charger la classe principale org.codehaus.plexus.classworlds.launcher.Launcher

J'ai résolu ce problème en changeant mon M2_HOME en ceci

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

Et le tour est joué! Cela a commencé à fonctionner! Juste en déplaçant la position de /bin de M2_HOME à devant la PATH

3
Saif Asif

Pour la plupart des problèmes d'installation de Maven, quelque chose comme "Impossible de trouver ou de charger la classe principale ...", commencez avec les étapes ci-dessous pour voir si cela résout le problème:

  • Assurez-vous de décompresser l'archive appropriée (archive BINARY et non SOURCE)
  • Supprime toutes les variables utilisateur et système liées à Maven (ex. M2_HOME, M2_OPTS, etc.)
  • Assurez-vous que la variable système Java_HOME est configurée (par exemple, "C:\Program Files\Java\jdk1.8.0_172").
  • Assurez-vous que l'emplacement de la corbeille Java est ajouté à la variable système "chemin" (par exemple, "% Java_HOME%\bin").
  • Assurez-vous que l'emplacement maven bin est ajouté dans la variable système "path" (par exemple, "C:\MyInstalls\Apache-maven-3.5.4\bin")

puis...

  • Vérifier que Java est installé (à l'invite de commande: Java -version)
  • Vérifiez que maven est installé (à l'invite de commande: mvn --version)
2
Sreekanth

Assurez-vous simplement que vous avez téléchargé l'archive Binary Zip (Apache-maven-3.5.0-bin.Zip) au lieu de l'archive Zip Source. Ajoutez ensuite le répertoire bin du répertoire créé Apache-maven-3.5.0 à la variable d’environnement PATH.

2
Shaini Sinha

J'ai eu le même problème. J'ai une boîte Windows XP et quand je voudrais taper mvn -version à la ligne de commande, j'ai reçu le message d'erreur redouté 

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

J'ai confirmé que ma variable M2_HOME était définie sur le chemin où Maven était installé sur le PC et que le echo %path% confirmait que Maven était sur mon chemin. 

Je cherchais une solution depuis des heures lorsque je suis tombé sur ma solution (je dis ma solution parce que je sais que ce ne sera probablement pas la solution pour tout le monde qui reçoit la même erreur). 

J'ai copié le chemin attribué à ma variable M2_HOME. J'ai ouvert une fenêtre cmd et tapé cd et collé le chemin que j'ai obtenu à partir de ma variable M2_HOME. À ce moment-là, je savais que le chemin était correct car il était affiché dans la fenêtre. À ce stade, je suis entré dans la commande dir et, à ma grande surprise, le message d'erreur Fichier non trouvé. 

Je suis allé à ce chemin via Explorer et bien sûr, il y avait des fichiers présents. J'ai remarqué que les dossiers étaient effacés, mais je pouvais y accéder et voir les fichiers dans chaque dossier (j'ai les droits d'administrateur sur mon ordinateur). J'ai examiné les propriétés du dossier parent de Maven et constaté que la case Masqué était cochée. J'ai enlevé la vérification et appliqué et essayé de nouveau ma commande dir avec succès.

Ensuite, j'ai réessayé la commande mvn –version, mais cette fois j'ai obtenu les résultats escomptés.

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"

Enfin, j'ai créé un fichier jar et war et mon application Web s'est exécutée avec succès sur mon Tomcat local.

J'espère que cela aide certains d'entre vous.

2
Lou

Moi aussi j'ai fait face au même problème. Mais dans mon cas, j'ai utilisé le dossier Apache-maven-3.3.3-src dans les variables de chemin. Plus tard, j'ai corrigé ceux avec le chemin correct du dossier Apache-maven-3.3.3-bin. Cela a résolu le problème. Je ne dis pas que la même erreur est rapportée ici, mais de cette façon, vous pouvez également obtenir cette erreur et la rectifier. C'est ce que j'essaie de dire ici.

1
vinoth kumar

Je pense que vous téléchargez la mauvaise version . Je rencontre ce problème tout à l’heure, aucune méthode ne fonctionne après une recherche et une recherche . Enfin, j’ai trouvé que maven que j’ai téléchargé est Source Zip archive . After Je passe à Archive binaire Zip , tout ira bien.

1
Mithril

installer la version binaire de maven corrige les problèmes

Apache-maven-3.6.1-bin.Zip

1
Bharath Kumar

Essayez de télécharger le fichier binaire Zip (par exemple, Maven 3.0.5 (Binaire)) au lieu de la source complète dans le site officiel Maven . Assurez-vous également que la ligne de commande reconnaît les commandes Java et javac . J'ai remarqué que Maven Source Zip n'incluait aucune bibliothèque dans le dossier lib. Cependant, Binary Zip en avait + dans le dossier de démarrage, il avait plexus-classworlds-2.4.jar. Le problème était peut-être dû à l'absence de ces bibliothèques. Quoi qu'il en soit, cela m'a aidé si mon M2_HOME est: C:\Program Files\Java\Apache-maven-3.0.5 et à PATH j'ai mis: C:\Program Files\Java\Apache-maven-3.0.5\bin.

1
Shendor

Je trouve que ce problème dans mon centOS est dû à "Oracle Java est remplacé par gcj", après le changement de Java par défaut à "Oracle Java", le problème est résolu.

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

Pour les autres personnes susceptibles de rencontrer ce problème, n’oubliez pas de vérifier les paramètres M2/HOME ou Java_HOME dans ~/.mavenrc.

1
JBCP

Outre ce que @khmarbaise a souligné, je pense que vous avez mal typé Java_HOME. Si vous avez installé l'emplacement par défaut, il ne devrait pas y avoir de "-" (trait d'union) entre jdk et 1.7.0_04. Donc ce serait

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

Il semble que vous ayez installé les fichiers source (parce que src n’est inclus que dans les fichiers source et que nous n’en avons pas besoin). Essayez d’installer Fichiers binaires à partir de . Et définissez ensuite les variables d’environnement comme décrit . Cela a fonctionné pour moi. Et je suis sûr que cela fonctionnera aussi pour vous.

1
Hammad Hassan

J'ai eu ce problème lorsque j'ai utilisé Maven 3.5.4 sur OpenJDK 11 sur Ubuntu. L'OpenJDK 11 sur Ubuntu est en fait toujours un 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)

J'ai installé OpenJDK d'Oracle dans /opt/jdk-11.0.1 et j'exécute Maven comme suit:

Java_HOME=/opt/jdk-11.0.1 mvn

Cela fonctionne maintenant comme un charme.

0
Christian Hujer

Pour moi, aussi drôle que cela puisse paraître, cela m'a aidé à redémarrer Eclipse...

0
membersound

Ouvrez un nouveau terminal et procédez comme suit

M2_HOME=/Users/macbook/Apache-maven-3.6.1 //Set where maven is
M2=$M2_HOME/bin                          //Set home as bin
export PATH=$M2:$PATH                   //Place the new path

Puis tapez

mvn -version

Vous pouvez définir ceci dans ./bash_profile pour le faire automatiquement à chaque fois que vous exécutez le terminal.

0
Gastón Saillén

J'ai eu un problème avec le plugin surefire lui-même. Revenir à la version 2.6 a fonctionné pour moi. La version 2.18/20/22.1 m'a donné l'erreur . Maintenant, j'ai essayé la version 3.0.0-M1 du plugin surefire et ça marche.

Il y a donc quelque chose qui cloche entre la version 2.6 et la 3.0.0. Je suppose qu'il y a quelque chose de codé en dur comme défaut qui ne devrait pas.

0
Coolius

Cela a fonctionné pour moi:

  1. Supprimer toutes les références Mavin dans les variables d'environnement
  2. Télécharger le Binaire de mavin
  3. Décompressez le fichier où vous souhaitez ex: C:\Apache-maven-3.6.0
  4. Allez dans Variables d'environnement et ajoutez-le à Système chemin de variable "C:\Apache-maven-3.6.0\bin"
  5. lancer la commande Invite en tant qu'administrateur
  6. vérifier la version avec: mvn -v

Résultat CMD:

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

0
Aberaitius