maven build failed: no se puede ubicar el comstackdor de Javac en: jre o jdk

Tengo mi JAVA_HOME configurado para

C:\Program Files (x86)\Java\jdk1.6.0_18 

Después de ejecutar maven install obtengo este mensaje de eclipse:

Razón:

 Unable to locate the Javac Compiler in: C:\Program Files (x86)\Java\jre6\..\lib\tools.jar Please ensure you are using JDK 1.4 or above and not a JRE (the com.sun.tools.javac.Main class is required). In most cases you can change the location of your Java installation by setting the JAVA_HOME environment variable. 

Estoy seguro de que esta es la parte difícil

Asegúrese de estar utilizando JDK 1.4 o superior y no un JRE

Cuando ejecuto la configuración configurada en JRE6, ¿cómo la cambio a JDK 1.6 que ya he instalado?

EDITAR

Incluso intenté modificar el complemento:

  org.apache.maven.plugins maven-compiler-plugin 2.0.2  1.6 1.6 C:\Program Files (x86)\Java\jdk1.6.0_18\bin   

Aún recibo el mismo error

Tal vez me olvidé de decir que uso el plugin eclipse maven … ¿cómo puedo cambiar de JRE a JDK en eclipse?

Podría intentar actualizar el JDK que está utilizando Eclipse, de la siguiente manera:

Agregue y configure el JRE en Ventana-> Preferencias …-> Java-> JRE instalados:

 JRE type: Standard VM JRE Name: jdk1.6.0_18 JRE home directory: C:\Program Files (x86)\Java\jdk1.6.0_18 

Si este no es el caso, es posible que los corchetes y espacios en la ruta JAVA_HOME estén causando problemas. Intenta copiar tu JDK a una ubicación diferente y actualizando tu JAVA_HOME.

eclipse.ini necesita el argumento vm para apuntar a su ubicación jdk.

Edite el archivo eclipse.ini para que apunte a su jdk home, algo de la siguiente manera:

 -vm C:\Program Files\Java\jdk1.6.0_06 

Esto asegura que Eclipse se estaría ejecutando desde el JDK y no con cualquier JRE predeterminado en su máquina.

Intenta:

Vaya a Preferences/Java/Installed JREs y agregue uno para la ubicación "C:\Program Files\Java\jdk1.6.0_27\jre o algo así.

Quite el de C:\Program Files\Java\jre6

Como puede ver, la ruta C:\Program Files\Java\jre6\..\lib\tools.jar solo tiene sentido si la primera parte (hasta el / …) se reemplaza por C:\Program Files\Java\jdk1.6.0_27\jre .

Establecer Fork en true resolvió el problema para mí.

  true 1.6 1.6  

Muchas gracias, Sam Yang … me alegraste el día

¡EXACTAMENTE tuve el mismo problema! He estado buscando y buscando días porque todo el parloteo sobre “poner el -vm c: \ archivos de progtwig \ java \ jdkxxxx \ bin” en el ini ar como argumento para un acceso directo NO EN TODO heklp! (¿Sueno frustrado? Créanme, eso es un eufemismo! Simplemente estoy furioso porque perdí una semana tratando de hacer a Maven confiable!)

Tuve un comportamiento muy impredecible. A veces comstackba, a veces no. Si hice un maven clean, no pudo encontrar el comstackdor y falló. Si luego cambié algo en la ruta de comstackción, de repente funcionó de nuevo.

Hasta que fui a la ventana -> preferencias -> java -> JRE instalados. Agregué un JRE nuevo usando la ubicación del JDK y luego eliminé el JRE. De repente maven corrió estable!

Tal vez esto vale la pena poner letras con tamaño de letra 30 o más en el manual de apache? Con el debido respeto, esto es simplemente escandaloso para la comunidad de Java. ¡No me puedo imaginar cuántos días perdieron todas estas personas, tratando de resolver sus problemas de este tipo! No puedo imaginar que esto se publique como una versión final. Personalmente, ni siquiera me atrevo a lanzar tal cosa bajo el nombre de software BETA …

Saludos cordiales de cualquier manera … Después de una semana de manipulación, finalmente puedo comenzar a desarrollarme. Espero que mi jefe no se entere de esto. Me costó mucho esfuerzo convencerlo de que NO fuera a .NET y ya me siento mal por ello.

Tengo el mismo problema al utilizar Ejecutar como -> Maven instalar en Eclipse. JAVA_HOME y eclipse.ini estaban bien y apuntando a mi último JDK. Pero m2clipse usó JRE. Usar mvn install fuera de Eclipse funcionó bien! En mi caso, resolví el problema de la siguiente manera: 1. Navegar en Eclipse: Ventana -> Preferencias -> Java -> JRE instalados 2. Había dos entradas inactivas para JRE y JDK. El activo fue el último JDK instalado. Eliminar todas las entradas, pero el experto debe usar.

Creo que maven no tiene en cuenta cuál está activo …

Acabo de instalar maven 3.0.4, configurar M2_HOME , M2 y JAVA_HOME consecuencia. Luego ejecuté los siguientes comandos:

mvn archetype:generate....

mvn compile

Recibí un mensaje fallido, como: maven unable to locate javac compiler .

En mi computadora, tengo la instalación jre predeterminada en c: \ program files \ java \ jre.1.6 . Y tengo los otros c: \ java \ jdk1.6 y JAVA_HOME establecidos en este c: \ java \ jdk1.6 .

No veo nada malo en mi configuración. Después de buscar, decidí buscar en mvn.bat , me hice eco de %JAVA_HOME% cada paso y se muestra correctamente como C:\java\jdk1.6 pero cuando ejecuto el comando: mvn --version , muestra el inicio de Java: c : \ program files \ java \ jre1.1.6 .

Finalmente, descubrí que solo necesito establecer -Djava.home=c:\java\jdk1.6 como en el siguiente comando, y que funciona bien ahora:

%MAVEN_JAVA_EXE% %MAVEN_OPTS% -classpath %CLASSWORLDS_JAR% "-Dclassworlds.conf=%M2_HOME%\bin\m2.conf" "-Djava.home=%JAVA_HOME%" "-Dmaven.home=%M2_HOME%" %CLASSWORLDS_LAUNCHER% %MAVEN_CMD_LINE_ARGS%

Espero que esto ayude.

Nota: Esto es para mvn en línea de comandos y no con Eclipse.

Parece que Maven usa el JRE, no el JDK. ¿Quizás instalaste Maven antes de instalar el JDK?

Verifique los archivos de configuración . Hay 3 en total, sistema, usuario y proyecto. Es más probable en la configuración de instalación ($ M2_HOME / conf / settings.xml) o, posiblemente, en la configuración por usuario ($ {user.dir} /. M2 / settings.xml).

Basado en http://maven.apache.org/plugins/maven-compiler-plugin/examples/compile-using-different-jdk.html , tendrá que configurar el fork en true en su pom.xml.

Resolví el problema cambiando la ubicación de JRE instalado en el directorio presente en JDK. Establecer el valor apropiado de la variable de entorno JAVA_HOME no solucionó el problema.

En mi caso, hay dos directorios

  • C:\Program Files\Java\jdk1.7.0_03 --> For JDK

  • C:\Program Files\Java\jre7 --> For JRE

Inicialmente configuré C:\Program Files\Java\jre7 como JRE instalado en Eclipse y recibía el mismo error en el caso de Maven (Ant funcionaba bien).

Al cambiar el JRE instalado a C:\Program Files\Java\jdk1.7.0_03\jre7 como JRE instalado en Eclipse, se solucionó el problema.

Configuración de Eclipse solamente

Haga los siguientes pasos:

  1. Haga clic derecho en las propiedades del proyecto Eclipse

  2. Ruta de creación de Java -> Bibliotecas

  3. Seleccione JRE System Library -> Haga clic en el botón Editar

  4. Haga clic en el botón “JRE instalados …”

  5. Edite JRE como: Establecer JRE Home = JAVA_HOME o JAVA_HOME \ jre

ScreentShot:

enter image description here

Muchas gracias,

Partha

Haga clic derecho en Proyecto -> Propiedades -> Ruta de comstackción de Java. Seleccione la ruta del sistema JRE -> Editar. Seleccione el JRE predeterminado del espacio de trabajo y apúntelo a JDK> 1.4

Window -> Preferences -> Java -> installed JREs -> Execution Enviroments -> click the checkbox on the right side

La solución es simple, algunas veces las ventanas de eclipse -> preferencia -> java -> JRE instalados apuntando a C:\Program files\Java\jre , cuando lo cambié a C:\Program files\Java\JDK 6.0\jre está funcionando al 100%.

Como lo mencionaron otros, las Window->Preferences...->Java->Installed JREs deberían apuntar al JDK que instaló, no al JRE. Solo entonces puede encontrar la carpeta ../lib mencionada en el mensaje de error.

Incluso con esto, el problema puede repetirse. Mi salida en Eclipse (Juno) es hacer un proyecto Maven -> Update project... después del cual el problema desaparece.

Sospecho que la razón es que algunos de los archivos generados por Eclipse (.classpath, .project, .preferences) están en subversión para el proyecto en el que tengo estos problemas. Por lo tanto, una actualización de svn presenta el problema y una actualización de la configuración de maven en Eclipse lo resuelve nuevamente.

Solución real: omita los archivos .files generados por Eclipse desde el control de la versión , y permita que el plugin maven eclipse maneje la configuración del proyecto. (consejos adicionales / sugerencias bienvenidas) .

No olvide que si está ejecutando su proyecto desde una configuración particular de Eclipse, debe cambiar el tiempo de ejecución de Java en ‘Ejecutar configuraciones’ -> ‘Su configuración de administrador’ -> ‘pestaña JRE’ después de agregar el JDK correcto a tus preferencias de Eclipse

En mi caso, en eclipse Run-> Debug Configurations En la pestaña jre seleccionada, jdk en lugar de jre resolvió el problema.

Vaya a la ventana de Eclipse-> Preferencias …-> Java-> Los JRE instalados deben apuntar al JDK que instaló, no al JRE.

Supongo que la ubicación del comstackdor se define en un pom para que el complemento del comstackdor esté en la ubicación jre que se muestra, en lugar de la ubicación jdk a la que apunta JAVA_HOME.

Si configura JAVA_HOME y el problema persiste intente lo siguiente. (tuve el mismo problema, en una PC nueva instalada).

Asumiendo que estás usando Eclipse.

  • Abrir ventana – preferencias – Java – jre instalado quita todo lo que tienes allí, agrega el que quieras usar (¡JDK, no JRE!)
  • En la misma ventana abierta maven – installations, agregue la instalación de mave que descargó y extrajo en algún lugar. (NO USE la instalación integrada de maven, tiene algunos errores conocidos)

Eso es todo. su proyecto no sufrirá problemas de sutch. Hope ayuda.

También puede asegurarse de que Eclipse tenga todos los cambios actualizados. Para hacer esto, haga clic derecho en su proyecto y luego presione la opción de menú “Actualizar”.

mvn.ini indicar JAVA_HOME en mvn.ini (está en la carpeta /bin maven) y su problema desaparecerá.

Muchas otras respuestas te dicen que dirijas tu Eclipse a un JDK en lugar de un JRE.

Aquí hay otra respuesta más específica / clara [que la que he visto en cualquier respuesta aquí] paso a paso sobre cómo hacerlo: ¿Cómo instalas JDK?

Eso es lo que me solucionó por este mismo problema.

Tuve el mismo error, debido a la versión JUNIT, tuve 3 3.8.1 y he cambiado a 4.8.1.

entonces la solución es

tienes que ir a POM y asegurarte de que tu dependencia se vea así

   junit junit 4.8.1 test  

Cambié la configuración de maven-compiler-plugin para agregar ejecutable y fork con el valor true.

   true 1.6 1.6 C:\Program Files\Java\jdk1.6.0_18\bin\javac  

Funcionó para mí

Asegúrese de que “-vm” en su eclipse.ini esté en dos líneas de sperate, es decir:

 -vm C:\Program Files\Java\jdk1.6.0_06 

hacer Echo %JAVA_HOME%
luego mvn --version

JRE ruta JRE debe ser la misma … luego vaya a Window -> preferences - java - installed jre's
la ubicación debe ser la misma que muestra Java_Home .

Tuve el mismo problema en Amazon Linux. Resulta que tuve que instalar la versión de desarrollo de jdk:

sudo yum -y install java-1.7.0-openjdk-devel

Vaya a Propiedades haciendo clic derecho en el proyecto.

En RECURSOS VINCULADOS agregue una nueva ruta llamada JAVA_HOME y ponga su ubicación jdk, algo así como “C: \ Archivos de progtwig \ Java \ jdk1.8.0_73”

¡¡Eso es todo!!

La solución a este problema es muy simple …

Si no tienes un archivo de construcción ANT , entonces grábalo. En Eclipse puedes crear fácilmente un archivo ANT .

Consulte el enlace para crear ANT build file [ http://www.codejava.net/ides/eclipse/how-to-create-ant-build-file-for-existing-java-project-in-eclipse%5D .

Ahora sigue los pasos dados:

1) Agregue su archivo de comstackción ANT en la vista ANT que está en la ventana de visualización.

2) haga clic derecho en su archivo de comstackción ANT y seleccione Ejecutar como y la segunda opción en esa “Ant Build”.

3) Ahora se abrirá un cuadro de diálogo con varias opciones y tabs.

4) Seleccione la pestaña JRE .

5) verá 3 botones de opción y seleccionarán JRE o JDK como opción.

6) Mire cuidadosamente si las opciones del botón de opción están teniendo JRE como seleccionado y luego cámbielo a JDK .

7) Haga clic en aplicar.

Eso es…!!!