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
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.
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.
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é.
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".
Enlever et réinstaller a fonctionné pour moi.
Détails:
mvn
dans le débogage (bash -x mvn
) a montré que le fichier JAR manquant était explicitement demandé.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.
Dans mon cas, M2_HOME
désignait /usr/share/maven3
; mais ça aurait dû être:
M2_HOME =/usr/share/maven
dans .bashrc
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
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.
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é.
J'ai résolu le problème, cela a fonctionné pour moi: Supprimer le fichier maven unzip . utilisez mvn -v
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.
Il semble que ce problème soit maintenant présent dans le docker openjdk (j'utilise circleci/openjdk: 8-jdk).
Voir rapport de bug