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:
- Adición de la biblioteca de soporte al proyecto de estudio de Android
- "Error: Atributo" estilo "ya se ha definido" error después de añadir facebook sdk de Maven
- Android: Nombre del archivo final de Maven
- ¿Cómo puedo hacer mi proyecto de Android disponible desde el control remoto usando gradle como Picasso, Volley, etc?
- Osx maven running tests Excepción: java.lang.OutOfMemoryError lanzado desde el UncaughtExceptionHandler en el subproceso "main"
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.
- Compartir código en Android Studio
- Estructura de Directorio de Android Maven
- La importación de mi biblioteca de Android en una aplicación no se reconoce como una biblioteca
- ¿Cómo automatizar las creaciones de android para la versión lite y de la prima?
- Error al ejecutar el objetivo com.jayway.maven.plugins.android.generation2: android-maven-plugin
- ¿Android con maven? Apk desconocido
- Integración con Android Studio y Protobuf
- Implementación múltiple a través de Maven en dispositivos Android en un concentrador USB
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í.
- Los archivos Gradle han cambiado desde la última sincronización del proyecto. Una sincronización de proyecto puede ser necesaria para que el IDE funcione correctamente
- ¿Es posible crear un VectorDrawable desde el sistema de archivos (archivo * .xml)