A pesar de especificar JDK 1.7 en todas las configuraciones del proyecto (incluido en File -> Project Structure -> Project :: Project SDK
), el siguiente error se produce IntelliJ 13
al intentar compilar un código Java 7 simple que utiliza el operador de diamante:
java: diamond operator is not supported in -source 1.5
(use -source 7 or higher to enable diamond operator)
¿Hay algún otro lugar en la configuración donde la -source 7
opción esperada debería estar habilitada?
File -> Project Structure -> Project :: Project language level
cambiar aDiamonds, ARM, multi-catch etc
?Respuestas:
Si nada de esto ayuda (mi caso), puede configurarlo en su pom.xml, de esta manera:
Como este tipo genial mencionado aquí: https://stackoverflow.com/a/25888116/1643465
fuente
<properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties>
InteliJ Support ForumCompruebe los niveles de idioma de su proyecto / módulo (Estructura del proyecto | Proyecto; Estructura del proyecto | Módulos | nombre-módulo | Fuentes). También es posible que desee echar un vistazo a Configuración | Compilador | Compilador Java | Versión de bytecode por módulo.
Establezca también esto:
Archivo -> Estructura del proyecto -> Módulos :: Fuentes (junto a Rutas y dependencias) y que tiene una opción de "Nivel de idioma" que también debe configurarse correctamente.
fuente
Additional command line parameters
en laJava Compiler
configuración está en blanco.[Para IntelliJ IDEA 2016.2]
Me gustaría ampliar parte de la respuesta de Peter Gromov con una captura de pantalla actualizada. Específicamente esta parte en particular:
Creo que (al menos en 2016.2): verificar diferentes confirmaciones en
git
restablece estas a 1.5.fuente
git checkout
). Descubrí que podía eliminar de forma segura las entradas en esta lista; el módulo recurre al uso de "Project bytecode version".Alternativamente, puede aplicar maven-compiler-plugin con la versión adecuada de Java agregando esto a su pom.xml:
fuente
Intenté hacer cambios a Intellij IDEA de la siguiente manera:
1)
2)
pero nada funcionó, revertió las versiones a java 1.5 tan pronto como lo guardé.
Sin embargo, agregar las siguientes líneas a la raíz (nivel del proyecto) pom.xml me funcionó para resolver el problema anterior: (ambas opciones funcionaron para mí)
Opción 1:
Opcion 2:
fuente
Archivo-> Estructura del proyecto-> Configuración del proyecto-> Proyecto-> Nivel de idioma del proyecto
Archivo-> Estructura del proyecto-> Configuración del proyecto-> Módulos-> Nivel de idioma
Cambiar nivel usando el menú desplegable
fuente
En su línea de comando (terminal Unix) Vaya a la carpeta raíz de su proyecto y haga esto
Esto cambiará la propiedad de nivel de idioma en todos los archivos .iml de su proyecto de java 1.5 a java 1.8.
fuente
compiler.xml
la raíz del proyecto (IntelliJ 2017.2):sed 's/target="1.5"/target="1.8"/g' .idea/compiler.xml
Primero, debe cambiar la "versión del código de bytes del proyecto" en
File > Settings
,Compiler > Java Compiler
Segundo, haz una reconstrucción completa.
fuente
Tengo el mismo problema pero con una situación diferente. Puedo compilar sin ningún problema con maven en la línea de comandos (
mvn clean install
), pero en Intellij siempre recibí un"java: diamond operator is not supported in -source 1.5"
error de compilación a pesar de haber configurado el complemento maven-compiler con java 1.8 en pom.xml.Resultó que tengo una configuración de repositorio remoto en settings.xml de mi maven de la que depende el proyecto, pero Intellij usa su propio maven que no tiene la misma configuración que mi maven local.
Entonces, mi solución fue cambiar la configuración de Maven de Intellij (
Settings -> Build, execution, Deployment -> Maven -> Maven home directory
) para usar el maven local.fuente
En IntelliJ Community Edition 2019.02, cambiar la siguiente configuración funcionó para mí
Actualice el archivo-> Estructura del proyecto-> Configuración del proyecto-> Proyecto-> Nivel de lenguaje del proyecto a Java 11 (actualice a la versión de Java que desea utilizar en su proyecto) usando el menú desplegable.
Archivo de actualización-> Estructura del proyecto-> Configuración del proyecto-> Módulos-> Nivel de idioma
Actualice Archivo-> Configuración-> Compilación, Ejecución, Implementación -> Compilador -> Compilador Java-> Versión de Project ByteCode a java 11.
Actualice la versión de Destino para todas las entradas en Archivo-> Configuración-> Compilación, Ejecución, Implementación -> Compilador -> Compilador Java-> Versión de Código de Byte por módulo.
fuente
Tenía la siguiente propiedad trabajando para mí en IntelliJ 2017
fuente
Una cosa más que podría causar esto está teniendo incorrecta
version
del<parent>
proyecto.En mi caso, apuntaba a un proyecto no existente y, por alguna razón, IntelliJ rebajó la versión en la configuración a 1.5 y más tarde, cuando lo arreglé, todavía estaba interpretando la versión del código de destino como 5 (a pesar de establecerla en 11).
fuente