IntelliJ importa proyecto de POM usando la versión incorrecta de JDK

Tenemos una compilación basada en Maven Android, y acabamos de hacer el cambio de JDK 6 a 7.

Esto vino con su parte de problemas de IntelliJ sin embargo. Lo que ocurre es que cada vez que detecta un cambio en el POM y reimporta / actualiza el proyecto, vuelve a seleccionar el antiguo "Module SDK", el que está configurado para usar Java 6:

Introduzca aquí la descripción de la imagen

Incluso si elimino manualmente estos SDK del cuadro de diálogo "Configuración de la plataforma", se mantienen reapareciendo como "Maven Android API 19 Platform (N)" donde N es el número utilizado para desambiguarlo de todos los SDKs (idénticos).

Debo mencionar que especificamos en el POM que Java 7 está dirigido. Intenté fijar el nivel del lenguaje del plugin del compilador, y las maven.compiler.* del maven.compiler.* (No seguro si eso logra la misma cosa o no), sin la suerte:

 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin> 

No debería IntelliJ recoger eso y siempre configurar el proyecto para utilizar un Java 7 SDK? ¿Me estoy perdiendo de algo?

Me di cuenta de que el problema desaparece cuando elimino todas las referencias a 1.6 SDK completamente en IntelliJ. No es de extrañar, supongo, pero también no es viable ya que tengo otros proyectos que todavía se basan en la presencia de un SDK de Java 6.

Encontré un problema muy similar con los proyectos de Maven que había creado usando IntelliJ (versión 14.x en mi caso). Había configurado IntelliJ para usar JDK 8 en la configuración del proyecto pero el IDE continuó resaltando problemas en mi código (por ejemplo, quejándose del uso de @Override ).

Resulta que los Ajustes Maven tienen precedencia aquí, que en mi caso por defecto a JDK 1.5 (de ahí el redline IDE). Cambiar la configuración aquí resuelve el problema, pero solo temporalmente porque se vuelve a activar cada vez que se reimportan los proyectos de Maven o cuando se reinicia IntelliJ.

La solución permanente es declarar explícitamente la versión JDK en tu archivo Maven pom , como se explica en estos ítems.

Detenga IntelliJ IDEA para cambiar el nivel de lenguaje java cada vez que se vuelve a cargar el pom (o cambiar el nivel de idioma del proyecto predeterminado) por @vikingsteve

IDEA: javac: source release 1.7 requiere release de destino 1.7 de @bacchus

Esto es lo que han dicho que debe agregar al archivo pom.xml.

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

Estos ajustes se reflejan en la configuración de Maven en el IDE y resuelto el problema para mí.

Recogerá el jdk que usted elija en la estructura del proyecto por favor cambie allí.

Archivo> estructura del proyecto> configuración del proyecto> proyecto> proyecto sdk elegir 1.7.

Si 1.7 no está presente, vaya a Archivo> estructura del proyecto> Configuración de plataforma> SDKs addd 1.7 allí.

  • Android + Maven "No se encontró ningún identificador de recurso para el atributo 'installLocation' en el paquete 'android'"
  • EXCEPCIÓN INESPERADA DE SUPERIOR NIVEL: java.lang.IllegalArgumentException: ya agregado
  • No se puede "hacer proyecto" Android Maven en Android Studio 0.2.5
  • ¿Por qué gradle android plugin no genera dependencias para intellij idea módulo
  • ¿Por qué no puedo importar el SDK de Facebook correctamente?
  • Error de ejecución de la tarea ': bintrayUpload'.
  • Error: No se encontró el complemento con id 'com.github.dcendents.android-maven'
  • ¿Por qué no hay Android SDK 4.4 en el Maven Repository?
  • No obtener fuentes procesadas (generadas) de anotación compiladas en apk, usando maven
  • ¿Cómo se integra Robolectric, Maven, ActionBarSherlock (y preferiblemente + IntelliJ) en un proyecto de Android?
  • ¿Cómo tratar la carpeta de origen src / test / java que falta en el proyecto Android / Maven?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.