142 votes

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

J'ai installé la dernière version de 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 :

%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 donnée sur de nombreux blogs faisant référence à la suppression de l'ancienne version de maven. M2_HOME n'est pas valide.

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

mais je n'arrive toujours pas à l'atteindre. Qu'est-ce que je pourrais manquer dans tout cela ? Merci d'avance.

4 votes

Je viens de télécharger binaire zip et il a été cassé. Remplacé par .tar.gz et ça marche. Alors quand M2_HOME est correctement réglé, essayez vraiment de vérifier que ce que vous avez téléchargé est correct.

0 votes

@PavelHoral la même chose m'est arrivée.

0 votes

J'obtiens cette erreur sur ce seul jenkins, via une commande comme mvn compile qui fonctionne bien !

141voto

Ian Points 967

J'ai rencontré ce problème aussi, et j'ai trouvé ce article. Pour Maven3, le changement du nom de ma variable d'environnement de M2_HOME à M3_HOME a fait l'affaire. Je suis sur un Mac exécutant OSX 10.9 avec JDK 1.7. J'espère que cela vous aidera.

Note : Veuillez supprimer M2_HOME, s'il est déjà défini. Par exemple unset M2_HOME

26 votes

Même chose pour moi sur un Mac. Assurez-vous de supprimer M2_HOME

0 votes

Fonctionne avec le binaire Maven 3.3.3, sur Ubuntu. JAVA_HOME n'est pas défini.

2 votes

Cela fonctionne à partir de Mac OS 10.10.5 avec brew installé maven (3.3.3).

73voto

dirbacke Points 440

Bien que la question ait reçu une réponse, je voudrais ajouter que, si vous obtenez l'erreur mentionnée ci-dessus, assurez-vous d'avoir téléchargé l'application Fichier binaire .

Le fichier source ne doit être téléchargé que si vous êtes un utilisateur avancé et que vous savez comment l'utiliser.

J'ai eu un bon nombre de personnes qui ont téléchargé le mauvais fichier, des seniors et des juniors.

1 votes

J'ai en fait téléchargé la source à dessein J'ai suivi les instructions pour l'installation binaire, car c'est la façon traditionnelle de faire les choses, mais j'ai accidentellement suivi les instructions pour l'installation binaire. Copier simplement le tar binaire était en fait plus facile à la longue.

0 votes

+1 : La même chose est arrivée ici - j'ai accidentellement cliqué sur le mauvais lien de téléchargement. Cela ne fonctionne pas que j'ai obtenu le bon fichier zip !

0 votes

Cela a résolu le problème à lui tout seul pour moi - merci !

61voto

Alex Fairchild Points 431

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

  • M2_HOME
  • M2
  • JAVA_HOME

Aussi, je les ai tous fait Système Variables, et non pas Variables utilisateur comme le disent les instructions de Maven. Lorsque vous

echo %Path%

Assurez-vous que vous pouvez voir les variables %M2% et %JAVA_HOME% 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]

0 votes

M2_HOME est la première chose à vérifier si vous effectuez une mise à niveau. JAVA_HOME doit rester inchangé.

3 votes

Comment le M2 variable d'environnement utilisée ? Je n'ai que JAVA_HOME et M2_HOME .

1 votes

@KevinMeredith : Le site M2 est parfois utilisée pour indiquer le %M2_HOME\bin% qui, à son tour, est ensuite ajouté au chemin d'accès de la %Path% variable d'environnement. Ceci est nécessaire lorsque le fichier batch Maven mvn.bat ne peut être trouvée dans la norme %Path% entrées définies. Un cas d'utilisation typique serait un répertoire d'installation non standard pour Maven.

52voto

Joseph Lust Points 4961

J'ai eu ce problème sur deux installations différentes d'Ubuntu 12.04, bien que les installations aient été faites par apt-get. Le problème venait de M2_HOME.

Fixé avec :

export M2_HOME=/usr/share/maven

2 votes

Cela a fonctionné pour moi mais avec M2_HOME=/usr/share/maven2 (au cas où quelqu'un d'autre essaierait). Merci !

1 votes

Sur Ubuntu, il vaut mieux créer /etc/profile.d/maven.sh avec la commande que vous avez indiquée : export M2_HOME=/usr/share/maven . Comme l'a souligné @jimkont, il s'agit parfois de maven2, ou de maven3 (si vous avez installé maven3, bien sûr).

0 votes

Cela fonctionne. Merci. Mais peut-on simplement l'ajouter au fichier /etc/environnement ?

13voto

Adio Points 1712

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

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

et ensuite je l'ai modifié en

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

Je tiens à préciser que j'utilise Windows 7 (x64).

0 votes

J'obtiens cette erreur sur ce seul jenkins, via une commande comme mvn compile qui fonctionne bien !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X