Estoy compilando un proyecto en Eclipse usando m2eclipse. Configuré la ruta JDK en Eclipse así:
Windows-->preferences-->installed jres--> jdk1.7.xx path
Pero esto muestra un error
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
[INFO] 1 error
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.424s
[INFO] Finished at: Tue Oct 29 15:21:01 IST 2013
[INFO] Final Memory: 5M/15M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler- plugin:3.1:compile (default-compile) on project TEST-WEB: Compilation failure
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
Respuestas:
Además, es posible que deba cambiar Maven JRE (consulte la respuesta de @ jlars62), que es la siguiente. Ir a Ejecutar -> Ejecutar configuraciones, seleccionando la Maven Build que estaba ejecutando (desde el panel izquierdo). Luego, hice clic en la pestaña JRE y seleccioné la opción JRE predeterminada del espacio de trabajo
fuente
Para mí, es exactamente lo que se queja el experto en eclipse
Entonces, presiono el
Edit
botón y cambio la ruta a la carpeta JDK, luego limpio el proyecto y todo comienza a funcionarfuente
Installed JREs
carpeta en lugar de jdk. Pero realmente me resolvió el problema. GraciasJAVA_HOME
variable de entorno en la carpeta raíz JDK, necesaria si ejecuta la línea de comandos o maven (mvn
).JAVA_HOME
para más información)fuente
Para mí, nada funcionó hasta que hice este cambio en mi pom.xml:
Otras notas
Pude ver que m2e se estaba ejecutando en un JRE, no en el JDK. Nada de lo que hice cambió esto, incluso agregar esto al eclipse.ini:
Al final, nunca conseguí que m2e se ejecutara en un JDK, pero configurar el compilador de Java explícitamente (como arriba) hizo el truco.
fuente
En mi caso se resolvió haciendo esto:
Vaya a su 'Configuración de tiempo de ejecución' y configure su JRE en un JDK.
Copié la respuesta solo en caso de que se elimine por alguna razón, pero la fuente está aquí
fuente
Recibía este error cuando intentaba hacer una construcción maven desde dentro del eclipse.
Para mí, la respuesta iba a
Run
->Run Configurations
, seleccionando elMaven Build
que estaba ejecutando (desde el panel izquierdo). Luego, hice clic en laJRE
pestaña y seleccioné la opciónWorkspace default JRE
fuente
puede ser jre ya está agregado
y buscar el JDK en mi caso fue
C:\Program Files\Java\jdk1.8.0_111
verás una ventana como esta
Y ya terminaste.
fuente
Tengo mismo problema y acabo de añadir
JAVA_HOME
a las variables de entorno .JAVA_HOME
el símbolo del sistema abierto desde el directorio del proyecto y ejecutarlomvn clean install
(no use el terminal intellij).fuente
Intenté todo lo anterior, sin embargo, todavía recibo el mismo mensaje de error.
En mi caso, un JRE real se usó incorrectamente como Biblioteca del sistema JRE en la ruta de compilación específica del proyecto, que obviamente anulaba todas esas otras configuraciones discutidas aquí.
Si es así en su caso, intente lo siguiente:
fuente
<build> <sourceDirectory>flockWebclient</sourceDirectory> <resources> <resource> <directory>resources</directory> <excludes> <exclude>**/*.java</exclude> </excludes> </resource> </resources> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.5.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build>
su pom.xmlUna alternativa si la respuesta de jaipster no funciona es ir a:
Ventana> Preferencias> Java> JRE instalados
Luego, edite el jre para que apunte al jdk y no al jre (la página de inicio de jre archivada en el editor de paquetes jre)
Eso funcionó para mí.
fuente
Si está ejecutando el
Maven
comando desdecmd
, asegúrese de establecer la ruta jdk antes de ejecutar el comando. En mi caso, he creado un.bat
archivo que contiene lo siguiente:fuente
Enfrenté el mismo problema al intentar construir un archivo jar de mi aplicación de proyecto usando
mvn clean install
, aunque la aplicación funcionaba bien mientras se ejecutaba desde Eclipse.El problema era, de hecho, demasiado ingenuo, que no había configurado la variable de entorno JAVA_HOME . Todo lo que tenía que hacer es establecer la variable de entorno JAVA_HOME en el directorio JDK, asegúrese de que no sea hasta "\ bin" y sin punto y coma ";" .
Cómo lo entendí es como:
La aplicación funcionó bien en Eclipse ya que JRE System Library se refería a JRE dentro de la carpeta JDK en lugar de la carpeta JRE externa sin JDK. [Como se explica muy bien en otras respuestas]
Esta configuración no se aplica al comando maven que ejecutamos en el símbolo del sistema. Seguirá buscando la variable JAVA_HOME para acceder a la biblioteca del sistema JRE y, cuando no se encuentre, se referirá a la carpeta JRE externa sin JDK.
fuente
Hay varias opciones para especificar.
Pasos: Justo en el proyecto en el explorador de proyectos Vaya a Ejecutar-> Ejecutar configuración -> Haga clic en Maven Build -> Haga clic en su configuración de compilación / o cree una nueva configuración. Verá la ventana como la instantánea dada a continuación, haga clic en la pestaña JRE allí.
Verá que tiene 3 opciones 1) JRE predeterminado del espacio de trabajo 2) Entorno de ejecución 3) JRE alternativo 1) El JRE predeterminado del espacio de trabajo se configura desde el menú 'Ventana' en la parte superior -> Preferencias -> Java -> JRE instalados - Aquí puede agregar su jdk 2) Entorno de ejecución jdk se puede configurar en pom.xml como lo menciona @ksnortum
3) Se puede usar JRE alternativo para seleccionar un jdk de su directorio
fuente
Para mí, el JRE estaba en la variable de entorno PATH antes de la ruta JDK
Así que eliminé 1. Probablemente cambiarlos también lo arreglaría.
fuente
Mi respuesta se refiere al entorno Eclipse en Windows.
Fui a Preferencias -> Java -> JRE instalados. NO vi el JDK aquí. Solo vi el JRE aquí. Así que agregué el JDK y luego desmarqué el JRE. Luego revisó JDK. Luego ejecuté el archivo POM usando Ejecutar configuraciones. Elija la pestaña JRE y seleccione la opción "Espacio de trabajo predeterminado ..." Aquí están las imágenes
fuente
Planteamiento del problema = No se proporciona ningún compilador en este entorno. ¿Quizás estás corriendo en un JRE en lugar de un JDK? intellij
Solución
Configure la variable de entorno como se muestra a continuación para resolver el problema
Nombre de la variable : JAVA_HOME
Valor variable : C: \ Archivos de programa \ Java \ jdk1.8.0_202
Nombre de la variable : M2_HOME
Valor variable : C: \ Archivos de programa \ apache-maven-3.6.0
Además , agregue la ruta Java y Maven en " Variables del sistema " como a continuación:
C: \ Archivos de programa \ Java \ jdk1.8.0_202 \ bin
C: \ Archivos de programa \ apache-maven-3.6.0 \ bin
fuente
Hay otra posible respuesta a esta pregunta, y puedo ser la única persona lo suficientemente tonta como para haber tropezado con esto, pero creo que vale la pena agregarlo, ya que ninguna de las otras respuestas se aplicaron ya que ya tenía esa configuración correcta.
Cuando instala un JDK, el instalador le pregunta dónde desea instalar los archivos. De forma predeterminada, en Windows, esto es algo así como C: \ Archivos de programa \ Java \ jdk1.8.0_74 (o cualquier versión que esté instalando).
Luego le pide un directorio para instalar el JRE, que por defecto es algo así como C: \ Archivos de programa \ Java \ jre1.8.0_74.
Tenga en cuenta que uno es jdk 1.8.0_74 y el otro es jre 1.8.0_74
Estaba apurando las cosas, y pensando que el instalador me estaba haciendo la misma pregunta dos veces, configuré mis ubicaciones de instalación JDK y JRE en D: \ devtools \ jdk \ jdk1.8.0_74, lo que resultó en que el instalador sobrescribiera el JDK con el JRE. Esto resultó en (entre otras cosas) un javac.exe faltante en mi bin JDK, y el mismo error que el OP reportó aquí en todas mis compilaciones de Maven.
fuente
Tengo una solución
La solución más común para este problema es cambiar la ubicación de jdk como mis JRE instalados en lugar de la ubicación de JRE, pero eso no resolvió mi problema esta vez.
Entonces hice lo siguiente para resolver el problema. Expanda la pestaña JRE instalados y encontrará una pestaña Entornos de ejecución .
Haga clic en su entorno de ejecución favorito. En mi caso fue JAVASE-1.8 . Allí muestra 2 opciones. JDK y JRE . Seleccione JDK allí y el problema está resuelto.
fuente
Solo perdí 3 horas con este problema hasta que logré hacerlo funcionar. Tuve este error en la Terminal Eclipse al emitir un comando de compilación mvn:
No se proporciona ningún compilador en este entorno. ¿Quizás estás corriendo en un JRE en lugar de un JDK?
Entonces leí aquí que tengo que hacer una nueva variable del sistema llamada JAVA_HOME y hacer que apunte hacia la carpeta de instalación de jdk. Sin embargo, esto generó otro error:
La opción de origen 1.5 ya no es compatible. Use 1.6 o posterior
No se pudo encontrar una solución para este, así que ...
¡Entonces la solución para que todo desaparezca es instalar Java SE Development Kit 8! Estaba usando 9 pensando que si es lo último debe ser mejor ...
De todas formas...
Instale JDK8 desde aquí: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
Luego defina el valor ambiental del sistema JAVA_HOME - tutorial aquí: https://docs.oracle.com/cd/E19509-01/820-3208/inst_cli_jdk_javahome_t/
Reinicia Eclipse y disfruta! (al menos eso es lo que hice)
Esperando que esto ahorre a algún pobre vagabundo de algunos problemas.
fuente
En mi caso, tuve una ruta variable del sistema que tiene la ubicación "C: \ ProgramData \ Oracle \ Java \ javapath".
En "C: \ ProgramData \ Oracle \ Java \ javapath" ubicación java, javaw solo allí. Entonces obtengo el mismo error.
Una vez que eliminé todos los archivos en la carpeta "C: \ ProgramData \ Oracle \ Java \ javapath", mi error se resolvió.
fuente
Intenté la mayoría de las respuestas sin éxito. Lo que funcionó para mí fue (después de seguir https://stackoverflow.com/a/21279068/2408893 ):
fuente
Aunque la pregunta es sobre el error con la
Eclipse
configuración, pero pensé en una respuesta para solucionar este error conIntelliJ
y la configuración de Windows 10 también puede ser útil aquí.1 . Vaya a
File
->Settings
->Build, Execution, Deployment
->Build Tools
->Maven
->Importing
2 . Ajuste
JDK
paraImporter
como se muestra a continuación paraJAVA_HOME
También
JAVA_HOME
debe establecerse en laJDK
ruta en Variables de entorno -> Variables del sistema y también agregar%JAVA_HOME%\bin
a las variables del Sistema de rutafuente
Me enfrenté al mismo problema, el error que cometí fue que agregué la ruta jre solo en la ruta var, no en la ruta jdk. Cuando se agregó la ruta jdk a la ruta y construí el proyecto maven, funciona perfectamente. Gracias a todos
fuente
Hice el siguiente cambio y funcionó para mí. Espero que ayude a alguien.
fuente
Prueba esto.
fuente
Agregar nueva definición JRE (seleccionar ruta JDK), funcionó para mí.
http://help.eclipse.org/neon/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Ftasks%2Ftask-add_new_jre.htm
fuente
Recibí el mismo error cuando creé una nueva instancia de EC2 ubuntu 16.04 con Java ya instalada y, mientras ejecutaba mvn clean package, encontré este problema y la siguiente solución funcionó para mí.
Si está trabajando en un servidor Ubuntu, puede intentar instalar Java nuevamente y para eso puede usar esta respuesta Cómo instalar el JDK en Ubuntu Linux
fuente
En Windows 7 - 64 bits, hay un problema de permisos que impide que el instalador desempaque el archivo C: \ Archivos de programa \ Java \ jdk1.6.xx \ lib \ tools.jar en su local. Este archivo jar es lo que usa maven-compiler-plugin versión 3.x en lugar del javac habitual
Solución: ¡ Ejecute, como administrador, el instalador Java JDK! Y asegúrese de que tools.jar esté en C: \ Archivos de programa \ Java \ jdk1.6.xx \ lib \
En caso de que esté utilizando el complemento de integración m2e maven, desea ver que Eclipse puede ver el archivo a través de los siguientes pasos dentro de Eclipse:
Vaya a Ventana -> Preferencias -> Java -> JRE instalados Seleccione el JDK que está utilizando (C: \ Archivos de programa \ Java \ jdk1.6.xx) Presione Editar para ver la lista de jarras, incluidas tools.jar, O puede agréguelo como Agregar JAR externo A continuación, configure la ejecución de maven a través de estos pasos:
Ejecutar-> Ejecutar configuraciones-> Completar Nombre, Directorio base y Objetivos. Luego, en la misma ventana, vaya a la pestaña JRE y apunte a JDK \ jdk1.6.xx \
fuente
Además de la respuesta anterior, podría decir que solo intente ejecutar Maven desde la terminal (fuera de Eclipse). De esta manera, si se construye desde afuera pero no en Eclipse, puede comprender que el problema debería estar en Eclipse.
fuente
Hay varias respuestas con respecto a esta pregunta, pero todas están relacionadas con la configuración de ruta correcta de JDK, pero con JRE solo podemos resolver este problema.
Solo necesitamos hacer uso del ensamblaje de implementación para configurar la ruta del archivo de guerra empaquetado del Proyecto Java EE y luego volver a ejecutar la instalación de maven.
Pasos para hacer uso del ensamblaje de implementación:
Haga clic derecho en el proyecto Jave EE -> haga clic en Propiedades -> haga clic en Ensamblaje de implementación
Haga clic en el botón Agregar -> Haga clic en Archivos desde el Sistema de archivos -> Haga clic en siguiente -> Haga clic en Agregar -> Vaya al directorio .m2 \ respository y busque el archivo de guerra generado -> Seleccione el archivo de guerra -> Haga clic en el botón Abrir -> Haga clic en Aplicar -> Aceptar
Haga clic derecho en el proyecto -> Haga clic en Instalar Maven en Ejecutar como
Esto construirá su proyecto con éxito, sin ningún error del compilador.
Espero que esto resuelva el problema sin JDK.
fuente