Error: Java: versión de origen no válida: 8 en Intellij. Qué significa eso?


342

Estoy tratando de compilar algún código en Estoy usando Intellij Ultimate 13.1.4, pero aparece el siguiente error y no tengo idea de lo que significa:

Information:Using javac 1.7.0_55 to compile java sources
Information:java: Errors occurred while compiling module 'Example'
Information:Compilation completed with 1 error and 0 warnings in 3 sec
Information:1 error
Information:0 warnings
Error:java: invalid source release: 8

Supongo que es algo relacionado con Java 8 vs Java 7, pero no tengo idea de qué específicamente. He intentado buscar este mensaje en Google, pero hablan de javaco target release, por lo que no parece aplicarse exactamente.


2
¿Qué versión de Java está instalada? ¿A qué JRE / JDK apuntaste intellij, en la configuración de IDE?
nanofarad

2
Probablemente la configuración del proyecto. Verifique el JDK al que apunta y el nivel de idioma que solicitó.
duffymo

1
@duffymo tenías razón, apuntaba a 8. No me di cuenta de que era un escenario.
David dice que reinstalar a Monica el

Respuestas:


767

Tuve el mismo problema al "degradar" un proyecto de Java 8 a Java 6. La razón fue que no se cambió en todos los lugares de IntelliJ.

En IntelliJ 13.1.4 tuve que cambiar la versión de Java y SDK en los siguientes lugares para no obtener este error:

  • Archivo -> Estructura del proyecto -> Configuración del proyecto
  • Archivo -> Estructura del proyecto -> Configuración del módulo -> Pestaña: Fuentes: Nivel de idioma
  • Archivo -> Estructura del proyecto -> Configuración del módulo -> Pestaña: Dependencias: Módulo SDK
  • Archivo -> Configuración -> Compilador -> Compilador Java -> Versión de código de bytes de destino

captura de pantalla de Archivo> Estructura del proyecto> Proyecto

captura de pantalla de Archivo> Estructura del proyecto> Módulos> Fuentes

captura de pantalla de Archivo> Estructura del proyecto> Módulos> Dependencias

captura de pantalla de Archivo> Configuración / Preferencias> Compilador> Compilador Java

La última viñeta fue la que no se actualizó en mi caso. Una vez que cambié esto, el error desapareció.


31
el que me estaba matando a éste: File -> Settings -> Compiler -> Java Compiler -> Target bytecode version. Gracias.
bitoiu

18
Me encontré con este problema también, pero ninguno de los anteriores funcionó. Tuve que hacerlo IntelliJ IDEA -> Preferences... -> Build, Execution, Deployment -> Build Tools -> Gradle -> Gradle JVM, en caso de que alguien se encuentre con este problema mientras usa Gradle.
Emil

2
Fuente: Cambio de nivel de idioma a 7 - Diamantes, ARM, captura múltiple, etc. para IDEA 15
Mia

44
Esta debería ser la respuesta aceptada. Como un pequeño aviso, en IntelliJ IDEA 15, el punto 4 se ha movido a Preferences -> Build, Execution, Deployment -> Compiler -> Java Compiler.
Iusting

También hay una selección JRE en algunas configuraciones de ejecución / depuración. Por ejemplo, las configuraciones de ejecución / depuración de Tomcat tienen un selector "JRE" que puede causar este error.
jordanpg

16

Verifique su pom.xmlprimero (si tiene uno)
Verifique la JDKdependencia de su módulo . Asegúrese de que sea para hacer esto, vaya a Estructura del proyecto -> SDK's Agregue la ruta donde ha guardado 1.8 ( en mi caso) Aplicar los cambios Ahora, vaya a Estructura del proyecto -> Módulos Cambiar el SDK del módulo para aplicar los cambios1.8

jdk1.8.0_45.jdk


1.8

Voila! Ya terminaste


6

Para los usuarios de Gradle que tienen estos problemas, si nada de lo anterior ayuda, esto es lo que resolvió mi problema: aplique estas declaraciones en sus archivos build.gradle:

targetCompatibility = 1.6 //or 1.7;1.8 and so on
sourceCompatibility = 1.6 //or 1.7;1.8 and so on

¡Problema resuelto!


5

Cambiar pom.xml 1.6a1.8

<plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
    </configuration>
</plugin>

5

Se puede superar simplemente activando Project Structure. Solo necesita seleccionar la ruta correcta para la versión relacionada de JDK. Seleccione newen la pestaña de dependencias y elija la ruta. ¡Se hace!

ingrese la descripción de la imagen aquí



2

La respuesta de Andreas Lundgren funcionó y pude compilar y ejecutar mi aplicación.

Sin embargo, cuando intenté ejecutar las pruebas JUnit asociadas al proyecto, recibí el mismo error. Corriendo

gradle -version

desde el símbolo del sistema de Windows mostró que Gradle todavía estaba recogiendo el jdk incorrecto. Para solucionarlo, tuve que configurar la JAVA_HOMEvariable de entorno para que apunte al jdk correcto y reiniciar IntelliJ.


1

Verifiqué todo lo mencionado anteriormente en la versión del proyecto, la versión del módulo, la versión del código de bytes del proyecto, la configuración de la versión del código de bytes objetivo en IntelliJ Idea , pero todos fueron los mismos que taché.

Me enfrento a este error Error:java: invalid source release: 1.8en IntelliJ Idea 2017.2.6porque he actualizado la versión de la dependenciaMaven archivo POM, que (dependencia) se supone que la acumulación de JDK 1.8 aplicación y que estaban construyendo mi solicitud en y con la fuente del compilador experto y objetivo de JDK 1.7.

Por lo tanto, vuelvo a degradar la versión de dependencia a una anterior en Mavenpom, y el error desapareció después del proyecto Reconstruir módulo 'xyz_project'.


0

Para los usuarios de Grails, aplique estas declaraciones en su archivo BuildConfig.groovy:

grails.project.target.level = 1.6 //or 1.7;1.8 and so on
grails.project.source.level = 1.6 //or 1.7;1.8 and so on

0

Debe hacer clic en el proyecto Abrir configuración del módulo y cambiar la ruta de su JDK, si en el archivo POM usa jdk 1.8, configure jdk 1.8 con la ruta correcta.



0

Probé todos los pasos mencionados aquí https://stackoverflow.com/a/26009627/2058104 , pero el cuarto punto ahora ha cambiado. Debe ir a Preferencias -> Compilación, Ejecución, Implementación -> Compilador -> Compilador Java

Allí, como se muestra en la figura siguiente, debe cambiar la "Versión de código de bytes de destino". Aunque lo cambié a 8 (ya que necesitaba degradar a Java 8), daba el mismo error una y otra vez. Por lo tanto, intente eliminar la entrada existente (en esta tabla) y agréguela nuevamente. Esto funcionó para mí.

ingrese la descripción de la imagen aquí

Por otro lado, limpie el proyecto e intente ejecutarlo nuevamente.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.