IDEA: javac: la versión de origen 1.7 requiere la versión de destino 1.7

Al ejecutar una prueba JUnit, utilizando IntelliJ IDEA, obtengo

¿Cómo puedo corregirlo?

  • Utilizando SDK 1.7
  • El nivel de lenguaje del módulo es 1.7

Maven build funciona bien. (Por eso creo que es un problema de configuración de IDEA)

Solución

Lo más probable es que tengas opciones de compilador incorrectas importadas de Maven aquí:

Compruebe también la configuración de la versión de bytecode del proyecto y del módulo (target) que se indica en la captura de pantalla.

Otros lugares donde se configura el nivel de lenguaje source:

  • Estructura del Proyecto | Proyecto

  • Estructura del proyecto | Módulos (compruebe cada módulo) | Fuentes

El nivel de lenguaje por defecto de Maven es 1.5 (5.0), verás esta versión como el nivel de lenguaje del módulo en la captura de pantalla anterior.

Esto puede ser cambiado usando la configuración maven-compiler-plugin dentro de pom.xml:


  [...]

    [...]


        org.apache.maven.plugins
        maven-compiler-plugin

          1.8
          1.8



    [...]

  [...]

o


  [...]

    1.8
    1.8

  [...]

IntelliJ IDEA respetará esta configuración después de Reimportar el proyecto Maven en la ventana de la herramienta Proyectos Maven:

Comentarios (12)

Me encontré con esto y la solución era ir a Configuración del proyecto > Módulos > haga clic en el módulo en particular > ficha Dependencias. Me di cuenta de que el módulo SDK todavía estaba establecido en 1.6, lo cambié a 1.7 y funcionó.

Comentarios (1)

He encontrado las opciones requeridas ('target bytecode version') en settings > compiler > java compiler en mi caso (intelij idea 12.1.3)

Comentarios (0)