Error de Maven: no se pudo encontrar o cargar la clase principal org.codehaus.plexus.classworlds.launcher.Launcher

He instalado un último maven-3.0.4 en Windows 7 :
Los detalles de instalación son los siguientes:
Ruta de instalación :

 C:\apache-maven-3.0.4 

Las variables de entorno son:

 M2_HOME C:\apache-maven-3.0.4\apache-maven\src JAVA_HOME C:\Program Files\Java\jdk-1.7.0_04 

Las variables de ruta agregadas son:

 %M2_HOME%\bin;%JAVA_HOME%\bin; 

En la ventana de comandos lo muestra así:

 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 

Esta es la única versión en Maven instalada en mi PC y la solución dada en muchos blogs referente a la eliminación de la variable de entorno M2_HOME anterior no es válida.

He leído y probado todas las soluciones ofrecidas en blogs como:

  • blog de oracle ,
  • pregunta stackoverflow ,
  • otra pregunta de stack ,
  • algún blog ,

pero aún no puede llegar a eso. ¿Qué podría estar perdiendo en todo esto? Gracias por adelantado.

También acerté este problema y encontré este artículo. Para Maven3, cambiar el nombre de la variable de entorno de M2_HOME a M3_HOME hizo el truco. Estoy en una Mac con OSX 10.9 con JDK 1.7. Espero que esto ayude.

Nota: elimine M2_HOME, si ya está configurado. Por ejemplo: unset M2_HOME

Estaba teniendo el mismo problema y pude resolverlo rehaciendo cuidadosamente las variables de entorno:

  • M2_HOME
  • M2
  • JAVA_HOME

Además, hice todas las variables del sistema , no las variables de usuario, como dicen las instrucciones de Maven. Cuando tú

 echo %Path% 

Asegúrese de que puede ver las variables% M2% y% JAVA_HOME% completamente expandidas, es decir:

 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] 

Aunque se responde a la pregunta, me gustaría añadir que, si obtiene el error mencionado anteriormente, asegúrese de haber descargado el archivo binario .

El archivo fuente solo debe descargarse si es un usuario avanzado y sabe cómo manejarlo.

He tenido una buena cantidad de gente descargando el archivo incorrecto, personas mayores y jóvenes

Tuve este problema en dos instalaciones diferentes de Ubuntu 12.04, a pesar de las instalaciones realizadas por apt-get. El problema fue M2_HOME.

Reparado con:

 export M2_HOME=/usr/share/maven 

Parece que instaló (extrajo) los archivos fuente en lugar de los binarios en función de la información de su ruta. Intenta instalar los binarios en su lugar y sigue la respuesta de los otros carteles.

Bueno, tuve este problema y después de ver esta publicación y particularmente la respuesta de khmarbaise noté que M2_HOME era

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

y luego lo cambié a

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

Me gustaría mencionar que utilizo Windows 7 (x64)

Creo que este error se debió a la descarga de SRC en lugar de BINARY desde el sitio de Maven. Por favor, asegúrese de descargar zip binario.

Debido a que la ruta siguiente, obtendrá solo cuando descarga SRC:

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

enter image description here

La solución para las versiones posteriores de Maven es directa. Estoy en OS X ElCap, 10.11.6 y actualicé a Maven 3.3.9. Tuve el mismo problema con el error ” Could not find ...org.codehaus.plexus... “. El enlace proporcionado aquí ofreció la solución en un comentario de McKamey: simplemente elimine M2_HOME (sin unset M2_HOME ). Una vez que lo intenté, todo funcionó como se esperaba.

Esto puede confirmarse visitando la Maven install page : “Agregue el directorio bin del directorio creado apache-maven-3.3.9 a la variable de entorno PATH” – sin mención alguna de M2_HOME o M3_HOME.

Debe cambiar la ubicación de M2_HOME en lo siguiente:

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

Además, la instalación del JDK parece más un JRE en lugar de JDK. Para Maven, necesitas JDK y NO JRE.

Me encontré con un problema similar en mi mac OSX. Después de una serie de bashs de prueba y error finalmente lo resolví.

Mi ~/.bash_profile veía así

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

y cuando intenté hacer echo M2_HOME desde el terminal, me mostró la ruta correcta, pero cuando intenté disparar cualquier comando maven como mvn clean o mvn install , siempre daba el mismo problema

No se pudo encontrar o cargar la clase principal org.codehaus.plexus.classworlds.launcher.Launcher

M2_HOME este problema cambiando mi M2_HOME a este

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

Y voilá ! ¡Empezó a funcionar! Simplemente moviendo la posición de /bin de M2_HOME a delante de la PATH

Tuve el mismo problema. Tengo el cuadro de Windows XP y cuando mvn -version en el indicador de la línea de comando, mvn -version el temido mensaje de error

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

M2_HOME que mi variable M2_HOME estaba configurada en la ruta en la que Maven estaba instalado en la PC y que echo %path% confirmó que Maven estaba en mi camino.

He estado buscando una solución durante horas cuando tropecé con mi solución (digo mi solución porque sé que probablemente esta no sea la solución para todos los que obtengan el mismo error).

Copié la ruta que se asignó a mi variable M2_HOME . Abrí una ventana de cmd y escribí cd y pegué el camino que obtuve de mi variable M2_HOME . En ese punto, sabía que el camino era correcto porque la ruta se mostraba en la ventana. En este punto, ingresé el comando dir y, para mi sorpresa, recibí el error File Not Found.

Fui a ese camino a través de Explorer y, efectivamente, había archivos presentes. Noté que las carpetas se desvanecieron, pero pude acceder a ellas y ver los archivos dentro de cada carpeta (tengo derechos de administrador en mi pc). Miré las propiedades de la carpeta principal de Maven y vi que la casilla Oculto estaba marcada. Quité el cheque y lo apliqué e intenté mi comando dir nuevamente con éxito.

Luego probé el comando mvn –version nuevamente, pero esta vez obtuve los resultados esperados.

 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" 

Finalmente, creé un archivo jar y war y mi aplicación web se ejecutó correctamente en mi Tomcat local.

Espero que esto ayude a algunos de ustedes allá afuera.

Además de lo que @khmarbaise ha señalado, creo que ha escrito mal su JAVA_HOME. Si ha instalado en la ubicación predeterminada, entonces no debería haber “-” (guión) entre jdk y 1.7.0_04. Entonces sería

 JAVA_HOME C:\Program Files\Java\jdk1.7.0_04 

Para otras personas que puedan encontrarse con esto, no olvides marcar ~ / .mavenrc para la configuración de M2_HOME o JAVA_HOME.

Intenta descargar archivos zip binarios (por ejemplo, Maven 3.0.5 (zip binario)) en lugar de fuente completa en el sitio oficial de maven. También asegúrese de que la línea de comandos reconozca los comandos java y javac. Me di cuenta de que Maven Source zip no incluía ninguna biblioteca en la carpeta lib, sin embargo Binary zip los tenía + en la carpeta de arranque tenía plexus-classworlds-2.4.jar. Quizás el problema fue con la ausencia de estas bibliotecas. De todos modos me ayudó para que mi M2_HOME sea: C: \ Program Files \ Java \ apache-maven-3.0.5 y en PATH puse: C: \ Program Files \ Java \ apache-maven-3.0.5 \ bin.

Me parece que este problema en mi centOS es causado por “Oracle Java is replace by gcj”, después de cambiar java por defecto a “Oracle Java”, el problema se resuelve.

 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 

Parece que ha instalado archivos de origen (porque src solo viene en archivos de origen y no lo necesitamos). Intenta instalar archivos binarios desde allí . Y luego establezca las variables de entorno como se describe allí . Esto funcionó para mí. Y estoy seguro de que también funcionará para ti.

Creo que descargaste la versión incorrecta. Me encuentro con este problema hace un momento, no funciona el método después de buscar y buscar. Finalmente, descubrí que maven que descargué es archivo zip de Source . Después de cambiar al archivo zip binario , todo va bien.

Solo asegúrate de haber descargado el archivo comprimido binario (apache-maven-3.5.0-bin.zip) en lugar del archivo ZIP de origen. A continuación, agregue el directorio bin del directorio creado apache-maven-3.5.0 a la variable de entorno PATH.

Para la mayoría de los problemas de configuración de Maven, como “No se pudo encontrar o cargar la clase principal …”, comience con los siguientes pasos para ver si eso soluciona:

  • Asegúrese de haber descomprimido el archivo correcto (archivo BINARIO y no archivo SOURCE)
  • Elimine todas las variables de usuario y de sistema relacionadas con Maven (por ejemplo, M2_HOME, M2_OPTS, etc.)
  • Asegúrese de que la variable del sistema JAVA_HOME esté configurada (por ejemplo, “C: \ Archivos de progtwig \ Java \ jdk1.8.0_172”)
  • Asegúrese de que la ubicación del bin de Java se haya agregado en la variable de sistema “path” (por ejemplo, “% JAVA_HOME% \ bin”)
  • Asegúrate de que se haya agregado la ubicación de maven bin en la variable del sistema “path” (por ejemplo, “C: \ MyInstalls \ apache-maven-3.5.4 \ bin”)

entonces…

  • Verifique que java esté configurado (en commandprompt: java -version)
  • Verificar que maven esté configurado (en commandprompt: mvn –version)

Exactamente el mismo error puede aparecer incluso con la configuración correcta de variables de entorno, si copia SÓLO el directorio bin directorio de instalación. Hace which funcione bien, y los principiantes se quedan atascados.

Yo también enfrenté el problema similar. Pero en mi caso utilicé la carpeta apache-maven-3.3.3-src en las variables de ruta. Más tarde corregí aquellos con la ruta correcta de la carpeta apache-maven-3.3.3-bin. Esto resolvió el problema. No estoy diciendo que es el mismo error informado aquí, pero de esta manera también puede obtener este error y rectificarlo. Eso es lo que trato de decir aquí.

Este es un problema común al configurar Maven. Todo lo que debes hacer es lo siguiente:

  1. M2_HOME: – D: \ apache-maven-2.0.11
  2. M2: – D: \ apache-maven-2.0.11 \ bin
  3. Ruta: – Adjuntar con;% M2%

M2_HOME & M2: – necesitan declararse como variables del sistema y no como variables de USUARIO / ADMIN.

Ruta: – Esta puede ser la variable del sistema O la variable USUARIO / ADMINACIÓN [RUTA]. Preferiblemente variable del sistema.

Una vez que realice cuidadosamente la configuración de estas 3 variables, puede verificar la instalación de Maven como se indica a continuación.

En CMD Prompt: –


C: \ Documents and Settings \ ADMIN> mvn –version


Salida: –


Apache Maven 2.0.11 (r909250; 2010-02-12 11: 25: 50 + 0530) Versión de Java: 1.6.0_22 Inicio de Java: C: \ Archivos de progtwig \ Java \ jdk1.6.0_22 \ jre Configuración regional predeterminada: en_US, plataforma encoding: nombre del sistema operativo Cp1252: versión “windows xp”: “5.1” arch: “x86” Familia: “windows”

Gracias.

Junto a las respuestas quizás útiles, pero quizás demasiado sintomáticas, aquí hay una que trata de ayudar a encontrar la causa del problema.

Maven es una herramienta de línea de comandos de Java. Eso significa que no es un binario independiente, es una colección de java .jar s, interpretada por un jvm ( java.exe en windows, java en linux).

El comando mvn , es un script. En Windows, es un script llamado mvn.cmd y en Linux, es un script de shell. Por lo tanto, si escribe: mvn install , ¿qué pasará?

  1. se llama a un intérprete de comandos ( /bin/sh o cmd.exe ) para el script de invocación real
  2. este script establece las variables de entorno necesarias
  3. y finalmente, llama a un intérprete de Java con el classpath requerido que contiene la funcionalidad maven.

El problema es con (2). Afortunadamente, este script es simple, muy simple. Para un progtwigdor de Java, no debería ser un gran problema depurar una secuencia de comandos en torno a 20 líneas, incluso si se trata de un lenguaje un tanto extraño.

En Linux, puede depurar shellscripts dando la bandera -x a su intérprete de shell (que probablemente sea bash ). En Windows, debe encontrar otra forma de depurar un script cmd.exe . Entonces, en lugar de mvn install , proporcione el comando bash -x mvn install .

El resultado será como:

 + '[' -z '' ']' + '[' -f /etc/mavenrc ']' + '[' -f /home/picsa/.mavenrc ']' + cygwin=true + darwin=false 

… no tantas cosas …

 + MAVEN_PROJECTBASEDIR='C:\peter\bin' + export MAVEN_PROJECTBASEDIR + MAVEN_CMD_LINE_ARGS=' ' + export MAVEN_CMD_LINE_ARGS + exec '/cygdrive/c/Program Files/Java/jdk1.8.0_66/bin/java' -classpath 'C:\peter/boot/plexus-classworlds-*.jar' '-Dclassworlds.conf=C:\peter/bin/m2.conf' '-Dmaven.home=C:\peter' '-Dmaven.multiModuleProjectDirectory=C:\peter\bin' org.codehaus.plexus.classworlds.launcher.Launcher Fehler: Hauptklasse org.codehaus.plexus.classworlds.launcher.Launcher konnte nicht gefunden oder geladen werden 

Al final, puede probar fácilmente, qué variable de entorno se ha estropeado, y puede arreglar fácilmente su script (o configurarlo para lo que sea necesario).