web-dev-qa-db-fra.com

Impossible de compiler en utilisant Java 1.7 dans Jetbrains Intellij après être passé de 1.6 à 1.7 (projet basé sur maven)

Utilisation du projet Jetbrains 11.2 basé sur un projet Maven. Ensuite, j'ai dû passer à la 1.7. J'ai installé 1.7, j'ai mis à jour mon pom.xml et je peux reconstruire le paquet entier en utilisant ok maven.

J'ai modifié tous les paramètres que je peux voir dans les paramètres des projets Intelli concernant Java

  • Project SDk
  • Niveau de langue du projet
  • Modules Langues/Sources/Niveau de langue
  • Langages/Dépendances/Module SDK du module

mais je n'arrive pas à le faire compiler un fichier dont il se plaint:

Error:javac target release of 1.6 conflicts with source release 1.7

J'ai ensuite essayé sur mon autre machine de développement en utilisant la même base de code mais un projet Intellij différent et à ce sujet, j'obtiens une erreur similaire:

Error:javac: source release 1.7 requires target release 1.7

Je ne vois rien d'autre à changer pour que cela fonctionne.

24
Paul Taylor

Doh, je l'ai trouvé

Fichier/Paramètres/Compilateur Java/Paramètres de ligne de commande supplémentaires

changé de - cible 1.6 à - cible 1.7

Il semble cependant plus étrange qu'il soit ici, déconnecté du reste des options connexes.

38
Paul Taylor

Comme solution alternative, qui a fonctionné pour moi consiste à enregistrer Paramètres du module la propriété Niveau de langue. Il a été défini sur 8.0 Lambdas et remplacé par 6.0 @Overrides in interfaces, et après cette compilation a fonctionné sans erreur.

13
Gyuri Majercsik

IntelliJ 2017 (également 15 ou 2016)

Vous pouvez changer la version du compilateur ici:

File -> Settings -> Build, Execution, Deployment -> Compiler -> Java Compiler

Maintenant, changez Target bytecode version à celui souhaité.

IntelliJ 13 ou 14

Vous pouvez changer la version du compilateur ici:

 Intellij IDEA -> Preferences -> Compiler -> Java Compiler
 -> Project bytecode version -> 1.7 (for example)
8
kiedysktos

Pour IntelliJ 12, j'ai résolu ce problème en ouvrant le fichier: structure du projet et en mettant à jour le SDK du projet vers 1.7 et le niveau de langue du projet vers "7.0 - Diamants, ARM, multi-catch etc."

Si vous n'avez pas configuré IntelliJ avec JDK 1.7, ajoutez-le avec le bouton "Nouveau". Sélectionnez le type "JDK".

7
Heather92065

J'ai rencontré le même problème. Je l'ai résolu par Intellij IDEA -> Préférences -> Compilateur -> Java Compilateur -> Projet bytecode version -> 1.7 & Target bytecode version -> 1.7

1
Yan

Une autre solution potentielle consiste à vous assurer que votre fichier de construction a la version codée en dur comme indiqué ici

    <javac target="1.7" source="1.7" ... />

par opposition à

<property name="Java.version" value="1.7" />
<javac target="${Java.version}" source="${Java.version}" ... />

Bien que cela puisse être dû à ma mauvaise compréhension du fonctionnement des variables dans les fichiers de construction. On pourrait penser que cela aurait du sens

1
merlinpatt