Malgré la spécification de JDK 1.7 dans tous les paramètres du projet (y compris dans File -> Project Structure -> Project :: Project SDK
), l'erreur suivante est générée IntelliJ 13
lorsque vous essayez de compiler du code Java 7 simple qui utilise l'opérateur diamant:
java: diamond operator is not supported in -source 1.5
(use -source 7 or higher to enable diamond operator)
Y a-t-il un autre endroit dans la configuration où l' -source 7
option attendue doit être activée?
File -> Project Structure -> Project :: Project language level
changer pourDiamonds, ARM, multi-catch etc
?Réponses:
Si rien de tout cela n'aide (mon cas), vous pouvez le définir dans votre pom.xml, comme ceci:
Comme ce gars cool l'a mentionné ici: https://stackoverflow.com/a/25888116/1643465
la source
<properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties>
InteliJ Support ForumVeuillez vérifier les niveaux de langue de votre projet / module (Structure du projet | Projet; Structure du projet | Modules | nom-module | Sources). Vous voudrez peut-être également jeter un œil à Paramètres | Compilateur | Compilateur Java | Version de bytecode par module.
Définissez également ceci:
Fichier -> Structure du projet -> Modules :: Sources (à côté de Chemins et dépendances) et qui a une option "Niveau de langue" qui doit également être définie correctement.
la source
Additional command line parameters
dans lesJava Compiler
paramètres est vide.[Pour IntelliJ IDEA 2016.2]
Je voudrais développer une partie de la réponse de Peter Gromov avec une capture d'écran à jour. Plus précisément cette partie particulière:
Je crois que (au moins en 2016.2): vérifier différents commits dans les
git
réinitialise à 1.5.la source
git checkout
). J'ai constaté que j'étais en mesure de supprimer en toute sécurité les entrées de cette liste; le module revient à utiliser "Version bytecode du projet".Alternativement, vous pouvez appliquer maven-compiler-plugin avec la version Java appropriée en ajoutant ceci à votre pom.xml:
la source
J'ai essayé d'apporter des modifications à Intellij IDEA comme ci-dessous:
1.
2.
mais rien n'a fonctionné, il a rétabli les versions en java 1.5 dès que je l'ai sauvegardé.
Cependant, l'ajout des lignes ci-dessous à la racine (au niveau du projet) pom.xml m'a aidé à résoudre le problème ci-dessus: (les deux options ont fonctionné pour moi)
Option 1:
Option 2:
la source
Fichier-> Structure du projet-> Paramètres du projet-> Projet-> Niveau de langue du projet
Fichier-> Structure du projet-> Paramètres du projet-> Modules-> Niveau de langue
Changer de niveau à l'aide du menu déroulant
la source
Dans votre ligne de commande (terminal Unix) Allez dans le dossier racine de votre projet, et faites ceci
Cela changera la propriété de niveau de langue dans tous les fichiers .iml de votre projet de java 1.5 à java 1.8.
la source
compiler.xml
à la racine du projet (IntelliJ 2017.2):sed 's/target="1.5"/target="1.8"/g' .idea/compiler.xml
Tout d'abord, vous devez modifier la "version du bytecode du projet" sous
File > Settings
,Compiler > Java Compiler
Deuxièmement, effectuez une reconstruction complète.
la source
J'ai le même problème mais avec une situation différente. Je peux compiler sans aucun problème avec maven en ligne de commande (
mvn clean install
), mais dans Intellij, j'ai toujours une"java: diamond operator is not supported in -source 1.5"
erreur de compilation même si j'ai défini le plugin maven-compiler-plugin avec java 1.8 dans le pom.xml.Il s'est avéré que j'avais un paramètre de référentiel distant dans le fichier settings.xml de mon maven dont dépend le projet, mais Intellij utilise son propre maven qui n'a pas le même paramètre que mon maven local.
Ma solution a donc été de changer le paramètre maven d'Intellij (
Settings -> Build, execution, Deployment -> Maven -> Maven home directory
) pour utiliser le maven local.la source
Dans IntelliJ Community Edition 2019.02, la modification des paramètres suivants a fonctionné pour moi
Mettez à jour Fichier-> Structure du projet-> Paramètres du projet-> Projet-> Niveau de langage du projet vers Java 11 (mise à jour vers la version java que vous souhaitez utiliser dans votre projet) en utilisant la liste déroulante.
Mettre à jour le fichier-> Structure du projet-> Paramètres du projet-> Modules-> Niveau de langue
Mettez à jour File-> Settings-> Build, Execution, Deployment -> Compiler -> Java Compiler-> Project ByteCode Version vers java 11.
Mettez à jour la version cible pour toutes les entrées sous File-> Settings-> Build, Execution, Deployment -> Compiler -> Java Compiler-> Par module Byte Code Version.
la source
J'ai eu la propriété suivante travaillant pour moi dans IntelliJ 2017
la source
Une chose qui pourrait causer cela a incorrect
version
du<parent>
projet.Dans mon cas, il indiquait un projet inexistant et, pour une raison quelconque, IntelliJ a rétrogradé la version dans les paramètres à 1.5 et les versions ultérieures lorsque je l'ai corrigé, il interprétait toujours la version du code cible comme 5 (malgré le réglage sur 11).
la source