Error: java: javacTask: la versión de origen 8 requiere la versión de destino 1.8

Respuestas:

1913
  1. Archivo> Configuración> Compilación, ejecución, implementación> Compilador> Compilador Java
  2. Cambie la versión de código de bytes de destino a 1.8 del módulo para el que está trabajando.

Si estás usando Maven

Agregue el complemento del compilador pom.xmldebajo del projectnodo de nivel superior :

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>

(Levantado de los comentarios).

Nota: Si no le importa volver a importar su proyecto, lo único que realmente necesita hacer es cambiar el pom y volver a importar el proyecto, entonces IntelliJ seleccionará la configuración correcta y no tiene que cambiarla manualmente.

Weslor
fuente
Funciona en IntelliJ 14 Ultimate.
DtechNet
En versiones anteriores de IDEA, intente: Configuración -> Compilador -> Compilador Java -> Versión de bytecode por módulo
Jonik
88
Si está en una Mac, está en Intellij IDEA> Preferencias ...> Compilación, ejecución, implementación> Compilador Java
JP Armstrong
44
Para Intellij más nuevo que 2016.2, hay uno más lugar para comprobar: Project Structure -> Project Settings -> Modules -> Denpendencies -> Module SDK.
Bruce Sun
1
Cuando tiene una jerarquía POM con más de dos niveles y su complemento de compilador está definido en el POM principal, IntelliJ podría no reconocerlo en el nivel más profundo. Digo que no, porque para algunos otros módulos lo hace, incluso cuando extienden el mismo POM principal.
Dormouse
202

Debe ir a Configuración y establecer en el compilador de Java lo siguiente: ingrese la descripción de la imagen aquí

también verifique la Configuración del proyecto

Gregory Mazur
fuente
116

Este parece el tipo de error que genera Maven cuando no tiene el complemento del compilador configurado correctamente. Aquí hay un ejemplo de una configuración del compilador Java 8.

<project xmlns="http://maven.apache.org/POM/4.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

<!-- ... -->

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.5.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

<!-- ... -->

</project>
Steve Chaloner
fuente
10
Para otros novatos Maven como yo, esto debería ser bajo project, buildy luego plugins.
Darren Hale
44
También si <source>1.8</source>y <target>1.8</target>está configurado, puede producirse el error anterior.
BuZZ-dEE
1
Esto funcionó para mí, gracias! La etiqueta de versión no se resolvió (la cambié para que coincida con mi versión de Maven), así que la comenté. Creo que Maven debería buscar automáticamente la última versión correcta en ese caso, basado en este hilo: stackoverflow.com/questions/17239394/… .
Boris
84

La forma más rápida que encontré:

  • presione: CTRL+ SHIFT+ A(para Mac + SHIFT+ A)
  • tipo: java compiler
  • prensa: ENTER

En la ventana Configuración, establezca el Bytecode de destino en 1.8

(o 9 para java9)

snovelli
fuente
3
Esta absolutamente trabajó para mí (gracias!), Pero no entiendo por qué esto es diferente a lo que hay en la pom.xml, ajustes del módulo, etc ...
Adam Lehenbauer
1
presione ⌘, para obtener preferencia.
X. Wang
31

Hay dos formas de resolver este problema:

  1. Establecer ajustes (File -> Settings -> Build, Execution, Deployment -> Java Compiler): ingrese la descripción de la imagen aquí
  2. Agregue una sección de compilación a su pom.xml: ingrese la descripción de la imagen aquí
Lord Nighton
fuente
18

Muchas respuestas con respecto a Maven son correctas, pero no tiene que configurar el complemento directamente.

Como se describe en la página wiki del Complemento Apache Maven Compiler, solo puede establecer las 2 propiedades utilizadas por el complemento.

<project>
  [...]
  <properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>
  [...]
</project>
Marvin Richter
fuente
1
@ Marvin Richter Probé su solución, pero no funciona con IntelliJ. Supongo que es correcta en la construcción pura de Maven (línea de comandos), pero IntelliJ simplemente ignora estas propiedades. Tuve que configurar el complemento como se menciona en otras soluciones.
Benoit
1
No, no lo hice, porque las otras soluciones funcionaron. Y ahora migré mi proyecto a gradle.
Benoit
44
Funciona como un encanto después de hacer clic derecho en pom.xml -> Maven -> Reimportar. Esta debería ser la respuesta aceptada para los usuarios de Maven.
ptkvsk
En realidad, necesita el complemento org.apache.maven.plugins:maven-compiler-pluginen su archivo pom o gradle, lo que en la documentación pretende decir es que tener esa propiedad establecida en las propiedades pom será suficiente, básicamente porque establecen los valores predeterminados del complemento, por ejemplo, <source> $ { maven.compiler.source} </source>
EliuX
Esta debería ser la respuesta aceptada. Trabajó para mí en IntelliJ 2018.2 en mac os 10.13.5
user674669
13

Lo arreglé yendo a Estructura del proyecto -> Módulos , encuentre el módulo en cuestión, haga clic en la pestaña Dependencias , cambie Module SDKa Project SDK.

Sam Barnum
fuente
9

Lo arreglé simplemente cambiando la versión de compilación de destino a 1.8. Está dentro:

Archivo >> Configuración >> Compilación, Ejecución, Implementación >> Compilador >> Compilador Java

Vishal
fuente
1
Gracias Vishal. Tenemos que especificar la versión del código de bytes del proyecto, o al menos la versión del código de bytes por módulo con Intellij Idea. Solo configurarlo en pom.xml para maven-compiler-plugin no resolvió el problema para mí.
WebComer
6

Debe ir al /.idea/compiler.xmly cambiar targetal jdknivel requerido .

ingrese la descripción de la imagen aquí

Muhammad Usman
fuente
5

En mi caso, solucioné este problema abriendo el archivo .iml del proyecto (se encuentra en la carpeta raíz del proyecto y tiene el mismo nombre que el proyecto) y cambié la línea <orderEntry type="jdk" jdkName="1.7" jdkType="JavaSDK" />a<orderEntry type="jdk" jdkName="1.8" jdkType="JavaSDK" />

Tenía todo configurado como en otras respuestas aquí, pero por alguna razón Idea actualizó el archivo .iml incorrectamente.

Nube
fuente
2
Parece que a veces Intellij no actualiza los archivos de configuración incluso cuando configuró todos los menús. Invalidar cachés y reiniciar (después de editar los archivos de configuración), fue el truco para mí. Extraño.
jah
1
Muchas gracias. Finalmente, después de intentar y fallar cualquier otra solución especificada anteriormente, esto funcionó.
Nitin Bansal
4

Lo arreglé modificando mi archivo POM. Observe el último comentario debajo de la respuesta más votada.

<plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>2.3.2</version>
        <configuration>
            <source>1.8</source>
            <target>1.8</target>
            <encoding>UTF-8</encoding>
        </configuration>
</plugin>

La fuente debe coincidir con el objetivo.

usuario4884640
fuente
4

Acabo de volver a importar el botón Maven, luego desapareció el error.

ingrese la descripción de la imagen aquí

Pham Hung
fuente
Gracias. Eso hizo alusión
Veilchen4ever
3

Si está trabajando con Android-studio 1.3, siga los pasos a continuación:

Ir a archivo - Estructura del proyecto

En módulos - aplicación - pestaña Propiedades , elija Compatibilidad de origen - 1.8 y

Compatibilidad de destino : 1.8 .

Y eres bueno para ir.

B.shruti
fuente
3

En su archivo de nivel de aplicación Gradle >> compileOptions agregue estas dos líneas

android {
  compileOptions {
    ...
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
    ...
   }
}
Badr
fuente
Gracias hombre. Su respuesta funcionó
Solution Spirit
1

En el archivo compiler.xml encontrarás:

<bytecodeTargetLevel>
  <module name="your_project_name_main" target="1.8" />
  <module name="your_project_name_test" target="1.8" />
</bytecodeTargetLevel>

y puedes cambiar el valor objetivo de tu antiguo al nuevo para mí, necesitaba cambiarlo de 1.5 a 1.8

Bachiri Taoufiq Abderrahman
fuente
1

Acabo de pasar un tiempo luchando con el mismo problema. Lo único que funcionó para mí no fue usar el mvn integrado (3.3.9) sino apuntarlo a una versión descargada externa (3.5.0). Finalmente se abrió el proyecto y todo estuvo bien.

trueno
fuente
1

Este problema ocurre si su módulo está configurado con el procesador de anotación y otro módulo no lo está. Configure la misma configuración para todos los módulos, ya que sería una dependencia cíclica.

Gani
fuente
0

Para mí, el problema era que Maven no pudo encontrar las configuraciones adecuadas, ya que estos elementos se especificaron en el pom padre.

El cambio de archivo -> Configuración -> Compilación, ejecución, implementación -> Maven -> Archivo de configuración de usuario para apuntar a mi configuración personalizada con repositorios adecuados solucionó el problema que de otro modo se estaba ocultando.

Descubrí el problema a través de Ayuda -> Mostrar explorador de inicio de sesión -> haciendo clic en el archivo de registro, cuando anteriormente solo aparecía el error en el título y "java.lang.NullPointerException" en la consola.

eis
fuente
0

La solución del problema es muy simple . Debe abrir el archivo .idea / compiler.xml en su Proyecto İdea y

Debe escribir la versión de destino adecuada

Axmedbek
fuente
0

Con Intellij , utilizando Maven , debe verificar que Intellij haya importado automáticamente su proyecto. Puede verificar haciendo clic en la pestaña Maven a la derecha de su Editor.

ingrese la descripción de la imagen aquí

Si su proyecto no está aquí, agregue el pom.xmlarchivo haciendo clic en +.

Obviamente, el proyecto también debe tener lo relevante <build/>:

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
            <source>1.8</source>
            <target>1.8</target>
        </configuration>
    </plugin>
Nicolas Zozol
fuente
0

Si ninguna de las otras respuestas funciona, verifique su Módulo SDK .

Me apareció este error después de haber actualizado el SDK del proyecto a 1.8, el compilador Javac a 1.8, etc. La configuración que fue mi problema fue el "Módulo SDK".

(en Linux) Vaya a y File > Project Structure...luego en la ventana que se abre, seleccione Modulesdebajo Project Settings. Seleccione el módulo en cuestión de la lista y luego la Dependenciespestaña y asegúrese de que Module SDKesté configurado correctamente.

dzimney
fuente
0

He comprobado todo lo anterior pero el error aún ocurre.

Pero reimportar todos los Proyectos maven (botón de recarga dentro del panel Proyectos Maven) funciona en mi caso.

chasquido
fuente
0

No olvide establecer dependencias para su módulo: ingrese la descripción de la imagen aquí

Hieu Vo
fuente