Cuando ejecuto una prueba JUnit, usando IntelliJ IDEA, obtengo

¿Cómo puedo corregir esto?
- Usando SDK 1.7
- El nivel de idioma del módulo es 1.7
La construcción de Maven funciona bien. (Es por eso que creo esto en el problema de configuración de IDEA)
Cuando ejecuto una prueba JUnit, usando IntelliJ IDEA, obtengo

¿Cómo puedo corregir esto?
La construcción de Maven funciona bien. (Es por eso que creo esto en el problema de configuración de IDEA)
Respuestas:
Lo más probable es que tenga opciones compiladoras incorrectas importadas de Maven aquí:

Verifique también el bytecode del proyecto y del módulo ( target configuración de la versión del ) descrita en la captura de pantalla.
Otros lugares donde se configura el nivel de idioma de origen :
El nivel de idioma predeterminado de Maven es 1.5 (5.0), verá esta versión como el nivel de idioma del Módulo en la captura de pantalla anterior.
Esto se puede cambiar usando la configuración del plugin maven-compiler dentro pom.xml:
<project>
[...]
<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>
[...]
</project>
o
<project>
[...]
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
[...]
</project>
IntelliJ IDEA respetará esta configuración después de que vuelva a importar el proyecto Maven en la ventana de la herramienta Proyectos Maven :
pom.xmlconfiguración del complemento del compilador de Java puede especificar la versión de Java que anulará esta configuración la próxima vez que realice cambios en pom.xml (si la reimportación automática está habilitada) o reimporta el proyecto manualmente.
Similar a lo que se discute a continuación para IntelliJ 13 y 14, pero con un nivel adicional en el panel Configuración / Preferencias: Configuración > Compilación, Ejecución, Implementación > Compilador > Compilador Java .
En IntelliJ 13 y 14, verifique Configuración> Compilador> UI del compilador de Java para asegurarse de que no está apuntando a una versión de código de bytes diferente en su módulo.

En IntelliJ IDEA 14.1 la "Versión de código de bytes de destino" está en un lugar diferente.
El siguiente cambio funcionó para mí:
Archivo> Configuración ...> Compilación, ejecución, implementación> Compilador> Compilador Java : cambie la versión de código de bytes de destino de 1.5 a 1.8


¿Has mirado tu configuración de compilación? Debería ser así si usas Maven 3 y JDK 7
<build>
<finalName>SpringApp</finalName>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
...
</plugins>
...
</build>
Me encontré con esto y la solución fue ir a Configuración del proyecto> Módulos> hacer clic en el módulo particular> pestaña Dependencias. Noté que el Módulo SDK todavía estaba configurado en 1.6, lo cambié a 1.7 y funcionó.
Modifique el archivo de configuración del compilador del proyecto en la siguiente ruta y cambie el 'objetivo' a 1.7:
/project/.idea/compiler.xml
<bytecodeTargetLevel>
<module name="project-name" target="1.7" />
</bytecodeTargetLevel>
Lo resolví estableciendo el campo en blanco:
Configuración> Compilador> Compilador Java> Versión de código de bytes del proyecto
Than IntelliJ usa la versión predeterminada de JDK.
De un momento a otro también recibí este error sin una razón clara. Cambié todo tipo de configuraciones en el compilador / módulo, etc. Pero al final solo recreé el proyecto IntelliJ al volver a importar el proyecto Maven y el problema se resolvió. Creo que esto es un error.
IntelliJ 12 129.961
Llegué a esto después de una pequeña actualización de IntelliJ IDEA 14 a v14.1. Para mí, cambiar una edición de top / parent pom ayudó y luego hice clic en volver a importar Maven (si no es automático).
Pero tal vez sea suficiente para hacer clic derecho en el módulo (s) / agregado / módulo principal y Maven -> Reimportar.
Si es un proyecto Gradle, en su archivo build.gradle, busque las siguientes configuraciones:
sourceCompatibility = "xx"
targetCompatibility = "xx"
Para todos los subproyectos, en su archivo raíz build.gradle, puede poner:
subprojects { project ->
sourceCompatibility = "1.7"
targetCompatibility = "1.7"
}
Aunque puede configurar manualmente los niveles de idioma en Idea> Configuración, si se trata de un proyecto Gradle, Idea sincroniza automáticamente los archivos .iml del módulo desde la configuración de Gradle (probado con Idea 15+). Por lo tanto, todos sus cambios manuales se anulan cuando se actualiza Gradle.
Según la documentación de Gradle , si no se configuran, se utiliza la configuración JVM actual.
Encontré otra forma de encontrarme con este error. Puede obtener esto si ha reorganizado la estructura de su directorio, y uno de sus poms está apuntando al padre principal que ya no configura javac (porque esa configuración se movió a un nivel medio). Si esto sucede, el nivel superior predeterminado es 1.5 y el pom de nivel inferior que se porta mal lo hereda.
Entonces, otra cosa que debe verificar cuando vea este error es que su estructura de pom coincide con la estructura de su directorio correctamente.
Si la compilación de Maven funciona bien, intente sincronizar la estructura de los proyectos Maven e IntelliJ IDEA.
En la ventana de la herramienta Maven , haga clic en el botón Actualizar
. Al presionar este botón, IntelliJ IDEA analiza la estructura del proyecto en la ventana de la herramienta Maven.
Tenga en cuenta que esto podría no ser útil si está utilizando la compilación EAP, ya que la función de sincronización de Maven puede romperse a veces.
Asegúrese de seleccionar la dependencia correcta. Archivo> Estructura del proyecto
Seleccione su proyecto y navegue a la pestaña Dependencias. Seleccione la dependencia correcta del menú desplegable o cree una nueva.
Si todas las soluciones anteriores no han funcionado para usted (que fue mi caso), puede eliminar los archivos de configuración de intellij:
Intellij regenerará nuevos más tarde. Sin embargo, TEN CUIDADO, esto también eliminará toda la configuración de intellij realizada en el proyecto (es decir: configuración del modo de depuración, ...)