web-dev-qa-db-fra.com

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

Je suis coincé avec ce problème simple depuis une heure maintenant. Maven travaillait bien la semaine dernière, je ne sais pas ce qui ne va pas, cela me donne cette erreur. J'ai essayé tous les moyens de déboguer et toutes les solutions trouvées dans StackOverflow et dans de nombreux autres endroits. J'ai même essayé de remplacer le chemin M2_HOME par M3_HOME et MAVEN_HOME. Rien n'a fonctionné. Je suis sous OS X. Ci-dessous se trouve la sortie de quelques commandes maven. Je serai heureux de fournir plus d'informations

$ mvn
Error: Could not find or load main class org.codehaus.plexus.classworlds.launcher.Launcher

$ which mvn
/Library/Maven-3.3.3/bin/mvn

$ echo $M2_HOME
/Library/Maven-3.3.3

$ echo $Java_HOME
/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home

$ which Java
/usr/bin/Java

$ /Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/bin/Java -version
Java version "1.7.0_75"
Java(TM) SE Runtime Environment (build 1.7.0_75-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.75-b04, mixed mode)

$ echo $PATH
/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Tomcat/bin:/Library/Maven-3.3.3/bin

$ Java -version
Java version "1.7.0_75"
Java(TM) SE Runtime Environment (build 1.7.0_75-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.75-b04, mixed mode)

$  ls -lR /Library/Maven-3.3.3
total 56
-rw-r--r--@  1 USERNAME  wheel  19091 Apr 22 04:58 LICENSE
-rw-r--r--@  1 USERNAME  wheel    182 Apr 22 04:58 NOTICE
-rw-r--r--@  1 USERNAME  wheel   2541 Apr 22 04:55 README.txt
drwxr-xr-x@  8 USERNAME  wheel    272 Oct 14 12:24 bin
drwxr-xr-x@  3 USERNAME  wheel    102 Oct 14 12:24 boot
drwxr-xr-x@  5 USERNAME  wheel    170 Apr 22 04:55 conf
drwxr-xr-x@ 75 USERNAME  wheel   2550 Oct 14 12:24 lib

/Library/Maven-3.3.3/bin:
total 64
-rw-r--r--@ 1 USERNAME  wheel   230 Apr 22 04:58 m2.conf
-rwxr-xr-x@ 1 USERNAME  wheel  7075 Apr 22 04:58 mvn
-rw-r--r--@ 1 USERNAME  wheel  6007 Apr 22 04:58 mvn.cmd
-rwxr-xr-x@ 1 USERNAME  wheel  1796 Apr 22 04:58 mvnDebug
-rw-r--r--@ 1 USERNAME  wheel  1513 Apr 22 04:58 mvnDebug.cmd
-rwxr-xr-x@ 1 USERNAME  wheel  1843 Apr 22 04:58 mvnyjp

/Library/Maven-3.3.3/boot:
total 104
-rw-r--r--@ 1 USERNAME  wheel  52684 Aug 29  2014 plexus-classworlds-2.5.2.jar

/Library/Maven-3.3.3/conf:
total 32
drwxr-xr-x@ 3 USERNAME  wheel    102 Apr 22 04:55 logging
-rw-r--r--@ 1 USERNAME  wheel  10216 Apr 22 04:55 settings.xml
-rw-r--r--@ 1 USERNAME  wheel   3649 Apr 22 04:55 toolchains.xml

/Library/Maven-3.3.3/conf/logging:
total 8
-rw-r--r--@ 1 USERNAME  wheel  1126 Apr 22 04:55 simplelogger.properties

/Library/Maven-3.3.3/lib:
total 18656
-rw-r--r--@ 1 USERNAME  wheel   136324 Jan 29  2015 aether-api-1.0.2.v20150114.jar
-rw-r--r--@ 1 USERNAME  wheel    12637 Apr 22 04:58 aether-api.license
-rw-r--r--@ 1 USERNAME  wheel    36745 Jan 29  2015 aether-connector-basic-1.0.2.v20150114.jar
-rw-r--r--@ 1 USERNAME  wheel    12637 Apr 22 04:58 aether-connector-basic.license
-rw-r--r--@ 1 USERNAME  wheel   172998 Jan 29  2015 aether-impl-1.0.2.v20150114.jar
-rw-r--r--@ 1 USERNAME  wheel    12637 Apr 22 04:58 aether-impl.license
-rw-r--r--@ 1 USERNAME  wheel    30705 Jan 29  2015 aether-spi-1.0.2.v20150114.jar
-rw-r--r--@ 1 USERNAME  wheel    12637 Apr 22 04:58 aether-spi.license
-rw-r--r--@ 1 USERNAME  wheel    25355 Jan 29  2015 aether-transport-wagon-1.0.2.v20150114.jar
-rw-r--r--@ 1 USERNAME  wheel    12637 Apr 22 04:58 aether-transport-wagon.license
-rw-r--r--@ 1 USERNAME  wheel   146876 Jan 29  2015 aether-util-1.0.2.v20150114.jar
-rw-r--r--@ 1 USERNAME  wheel    12637 Apr 22 04:58 aether-util.license
-rw-r--r--@ 1 USERNAME  wheel     4467 May  7  2013 aopalliance-1.0.jar
-rw-r--r--@ 1 USERNAME  wheel    44908 May  7  2013 cdi-api-1.0.jar
-rw-r--r--@ 1 USERNAME  wheel    21837 Apr 22 04:58 cdi-api.license
-rw-r--r--@ 1 USERNAME  wheel    41123 May  7  2013 commons-cli-1.2.jar
-rw-r--r--@ 1 USERNAME  wheel   173587 May  7  2013 commons-io-2.2.jar
-rw-r--r--@ 1 USERNAME  wheel   284220 May  7  2013 commons-lang-2.6.jar
drwxr-xr-x@ 3 USERNAME  wheel      102 Apr 22 04:55 ext
-rw-r--r--@ 1 USERNAME  wheel  2256213 Nov  1  2014 guava-18.0.jar
-rw-r--r--@ 1 USERNAME  wheel     2497 May  7  2013 javax.inject-1.jar
-rw-r--r--@ 1 USERNAME  wheel   293671 Jul 24  2013 jsoup-1.7.2.jar
-rw-r--r--@ 1 USERNAME  wheel     3449 Apr 22 04:58 jsoup.license
-rw-r--r--@ 1 USERNAME  wheel     5848 May  7  2013 jsr250-api-1.0.jar
-rw-r--r--@ 1 USERNAME  wheel    18116 Apr 22 04:58 jsr250-api.license
-rw-r--r--@ 1 USERNAME  wheel    66349 Apr 22 04:57 maven-aether-provider-3.3.3.jar
-rw-r--r--@ 1 USERNAME  wheel    11358 Apr 22 04:58 maven-aether-provider.license
-rw-r--r--@ 1 USERNAME  wheel    55090 Apr 22 04:56 maven-artifact-3.3.3.jar
-rw-r--r--@ 1 USERNAME  wheel    11358 Apr 22 04:58 maven-artifact.license
-rw-r--r--@ 1 USERNAME  wheel    14964 Apr 22 04:56 maven-builder-support-3.3.3.jar
-rw-r--r--@ 1 USERNAME  wheel    11358 Apr 22 04:58 maven-builder-support.license
-rw-r--r--@ 1 USERNAME  wheel   286726 Apr 22 04:58 maven-compat-3.3.3.jar
-rw-r--r--@ 1 USERNAME  wheel    11358 Apr 22 04:58 maven-compat.license
-rw-r--r--@ 1 USERNAME  wheel   631881 Apr 22 04:57 maven-core-3.3.3.jar
-rw-r--r--@ 1 USERNAME  wheel    11358 Apr 22 04:58 maven-core.license
-rw-r--r--@ 1 USERNAME  wheel    86051 Apr 22 04:58 maven-embedder-3.3.3.jar
-rw-r--r--@ 1 USERNAME  wheel    11358 Apr 22 04:58 maven-embedder.license
-rw-r--r--@ 1 USERNAME  wheel   160817 Apr 22 04:56 maven-model-3.3.3.jar
-rw-r--r--@ 1 USERNAME  wheel   176410 Apr 22 04:56 maven-model-builder-3.3.3.jar
-rw-r--r--@ 1 USERNAME  wheel    11358 Apr 22 04:58 maven-model-builder.license
-rw-r--r--@ 1 USERNAME  wheel    11358 Apr 22 04:58 maven-model.license
-rw-r--r--@ 1 USERNAME  wheel    46099 Apr 22 04:56 maven-plugin-api-3.3.3.jar
-rw-r--r--@ 1 USERNAME  wheel    11358 Apr 22 04:58 maven-plugin-api.license
-rw-r--r--@ 1 USERNAME  wheel    25957 Apr 22 04:57 maven-repository-metadata-3.3.3.jar
-rw-r--r--@ 1 USERNAME  wheel    11358 Apr 22 04:58 maven-repository-metadata.license
-rw-r--r--@ 1 USERNAME  wheel    43032 Apr 22 04:57 maven-settings-3.3.3.jar
-rw-r--r--@ 1 USERNAME  wheel    43154 Apr 22 04:57 maven-settings-builder-3.3.3.jar
-rw-r--r--@ 1 USERNAME  wheel    11358 Apr 22 04:58 maven-settings-builder.license
-rw-r--r--@ 1 USERNAME  wheel    11358 Apr 22 04:58 maven-settings.license
-rw-r--r--@ 1 USERNAME  wheel   375267 Feb 20  2015 org.Eclipse.sisu.inject-0.3.0.jar
-rw-r--r--@ 1 USERNAME  wheel    12637 Apr 22 04:58 org.Eclipse.sisu.inject.license
-rw-r--r--@ 1 USERNAME  wheel   205404 Feb 20  2015 org.Eclipse.sisu.plexus-0.3.0.jar
-rw-r--r--@ 1 USERNAME  wheel    12637 Apr 22 04:58 org.Eclipse.sisu.plexus.license
-rw-r--r--@ 1 USERNAME  wheel    13350 May  7  2013 plexus-cipher-1.7.jar
-rw-r--r--@ 1 USERNAME  wheel    21837 Apr 22 04:58 plexus-cipher.license
-rw-r--r--@ 1 USERNAME  wheel     4211 May  7  2013 plexus-component-annotations-1.5.5.jar
-rw-r--r--@ 1 USERNAME  wheel    62458 Oct 29  2014 plexus-interpolation-1.21.jar
-rw-r--r--@ 1 USERNAME  wheel    28555 May  7  2013 plexus-sec-dispatcher-1.3.jar
-rw-r--r--@ 1 USERNAME  wheel    21837 Apr 22 04:58 plexus-sec-dispatcher.license
-rw-r--r--@ 1 USERNAME  wheel   243128 Oct 29  2014 plexus-utils-3.0.20.jar
-rw-r--r--@ 1 USERNAME  wheel   399672 Feb 20  2015 sisu-guice-3.2.5-no_aop.jar
-rw-r--r--@ 1 USERNAME  wheel    26084 Jul 24  2013 slf4j-api-1.7.5.jar
-rw-r--r--@ 1 USERNAME  wheel    14853 Apr 22 04:58 slf4j-api.license
-rw-r--r--@ 1 USERNAME  wheel    10680 Aug 17  2013 slf4j-simple-1.7.5.jar
-rw-r--r--@ 1 USERNAME  wheel    14853 Apr 22 04:58 slf4j-simple.license
-rw-r--r--@ 1 USERNAME  wheel    11432 Apr 21 06:27 wagon-file-2.9.jar
-rw-r--r--@ 1 USERNAME  wheel    11358 Apr 22 04:58 wagon-file.license
-rw-r--r--@ 1 USERNAME  wheel  2259073 Apr 21 06:32 wagon-http-2.9-shaded.jar
-rw-r--r--@ 1 USERNAME  wheel    11787 Apr 21 06:27 wagon-http-shared-2.9.jar
-rw-r--r--@ 1 USERNAME  wheel    11358 Apr 22 04:58 wagon-http-shared.license
-rw-r--r--@ 1 USERNAME  wheel    11358 Apr 22 04:58 wagon-http.license
-rw-r--r--@ 1 USERNAME  wheel    53543 Apr 21 06:27 wagon-provider-api-2.9.jar
-rw-r--r--@ 1 USERNAME  wheel    11358 Apr 22 04:58 wagon-provider-api.license

/Library/Maven-3.3.3/lib/ext:
total 8
-rw-r--r--@ 1 USERNAME  wheel  152 Apr 22 04:55 README.txt
12
Prashanth

Veuillez supprimer M2_HOME en tant que variable d’environnement, elle est déjà définie par le script MVN. La seule chose que vous devez faire est: ajoutez Apache-maven-3.x.x/bin sur votre chemin, définissez Java_HOME en tant qu’environnement variable. Donc, pas besoin d'ajouter% Java_HOME%/bin à votre chemin

Essayez d’exécuter d’abord mvn -v à partir du dossier /Library/Maven-3.3.3/bin/ vers confirmez que l'installation est correcte. Essayez de lancer mvn avec xtrace info (tldp.org/LDP/Bash-Beginners-Guide/html/sect_02_03.html) et vérifiez la ligne de commande construite par Maven. Je suppose que vous obtenez un imprévu valeur de l'argument classpath.

26
Robert Scholte

EDIT: Note ceci est pour les utilisateurs de Mac

M2_HOME doit être supprimé de la PATH. Par défaut, votre PATH peut être extraite de l’un des fichiers suivants (pour moi, c’était dans ~/.profile).

/etc/bashrc
/etc/profile
~/.bashrc
~/.bash_profile
~/.profile
~/.MacOSX/environment.plist

Cela pourrait ressembler à quelque chose comme ça:

export M2_HOME=/Applications/Apache-maven-3.2.3
export M2=$M2_HOME/bin
export PATH=$M2:$PATH

Supprimez les variables M2_HOME et toutes les dépendances (dans l'exemple, la variable M2 utilise M2_HOME, supprimez-la ainsi, ainsi que la ligne après laquelle utilise $M2) où qu'elle apparaisse.

[ la source ]

Juste pour donner plus d’informations sur l’utilisation de ce fichier, vous pouvez continuer à ajouter l’emplacement que vous souhaitez inclure dans le chemin. 

Par exemple, si vous souhaitez inclure /User/batman/google-sdk dans chemin, ajouter la ligne ci-dessous à la fin du fichier ajoutera /Users/batman/google-sdk (dans votre cas, quel que soit l'emplacement du dossier), à la variable PATH. 

export PATH=$PATH:/Users/batman/google-sdk

Mais assurez-vous que la PATH a déjà quelques informations avant la ligne ci-dessus.

3
Crocode

Pour ce que ça vaut, j'ai eu la même erreur: la chose Could not find or load main class org.codehaus..., mais sans autre information (vous trouverez beaucoup de personnes avec ce message d'erreur - mais généralement accompagnées d'informations supplémentaires telles que des échecs de chargement de classe).

Il s’avère que j’ai eu une installation corrompue, peut-être que certains fichiers n’ont pas été décompressés en silence. Un rm -rf du répertoire maven et re-téléchargé et décompressé l'a corrigé.

3
BeeOnRope

Pour que de nouvelles personnes deviennent vraiment maven, veillez à télécharger les "archives binaires" du site Maven, et non les "archives de la source".

2
Z3d4s

Enlever et réinstaller a fonctionné pour moi.

Détails:

  • Cela faisait environ un an que je courais maven sur cette machine Linux.
  • Java a été mis à niveau de 7 à 8 (mais d’autres modifications ont également eu lieu).
  • Mon M2_HOME/M3_HOME n'était pas défini (effacer ce n'était donc pas une solution).
  • L'exécution du script mvn dans le débogage (bash -x mvn) a montré que le fichier JAR manquant était explicitement demandé.
  • Je n'ai pu trouver qu'une version plus ancienne du package/module org.codehaus.plexus.classworlds.

Puisqu'il n'a pas été clair comment mettre à jour indépendamment les bocaux org.codehaus, j'ai laissé apt-get y apporter ce dont il avait besoin. Problème résolu.

1
jmarks

Dans mon cas, M2_HOME désignait /usr/share/maven3; mais ça aurait dû être: 

M2_HOME =/usr/share/maven

dans .bashrc

0
wolfie

Téléchargez le paquet binaire Apache maven et non le paquet source. De cette manière, il peut résoudre le problème suivant:

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

0
Jyoti Panda

Ce que j’ai fait, j’ai renommé (dans mon .bash_profile) le 

export M2_HOME=/usr/local/bin/mvn
export M2=$M2_HOME/bin

à 

export M3_HOME=/usr/local/bin/mvn
export M2=$M3_HOME/bin

et ensuite utilisé la commande (merci TS!)

$ which mvn

et 

$ echo $M2_HOME

Et j'ai vu qu'il y a un chemin différent dans les deux, j'ai donc changé le chemin $M2_HOME pour qu'il soit identique à ce qu'il m'a montré dans la commande "Which mvn". Afin de changer ce chemin, je viens de modifier le fichier .bash_profile où j'avais la variable.

0
kwic

Suppression de l'ancienne version Maven et restauration de la version la plus récente résolus mon problème ..__ J'utilisais auparavant Maven 3.2.3 avec Java 1.8.0_65 . Je viens d'essayer de remplacer la version antérieure de Maven par la version 3.3.9. ça a marché.

0
theBestIsYetToCome

J'ai résolu le problème, cela a fonctionné pour moi: Supprimer le fichier maven unzip . utilisez mvn -v

0
user6139322

D'après mon expérience, vérifiez votre/bin/mvn qui est un script POSIX Shell. Dans le script, il trouve d’abord un env. Lié à maven, par exemple./etc/mavenrc ou $ HOME/.mavenrc. Dans mon cas, dans/etc/mavenrc, la variable env M2_HOME était définie sur celle que j'avais supprimée, puis après avoir défini M2_HOME sur la nouvelle installation maven, "mvn -v" fonctionnait. 

0
Bo Hu

Il semble que ce problème soit maintenant présent dans le docker openjdk (j'utilise circleci/openjdk: 8-jdk).

Voir rapport de bug

0
Ehud Lev