web-dev-qa-db-fra.com

Erreur: Java: javacTask: la version source 8 requiert la version cible 1.8

Utiliser IntelliJ IDE ne permet de compiler aucun projet. Captures d'écran des paramètres ci-dessous:

JDK d'occasion:

 http://gyazo.com/b6e32119af7b04090d890cad04db6373

Projet SDK et niveau de langue:

 http://gyazo.com/55a5fc9f7f2bb721a04780ce9d74eeab

Niveau de langue:

 http://gyazo.com/143bffad63fd89cafc231298729df2fc

Quelqu'un a des idées?

708
Hobbyist
  1. Fichier> Paramètres> Construction, exécution, déploiement> Compilateur> Compilateur Java
  2. Changez Version du bytecode cible en 1.8 du module pour lequel vous travaillez.

Si vous utilisez Maven

Ajoutez le plug-in du compilateur à pom.xml sous le noeud project de niveau supérieur:

<build>
    <plugins>
        <plugin>
            <groupId>org.Apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>

(Tiré des commentaires.)

Remarque: si vous ne voulez pas réimporter votre projet, la seule chose à faire est de modifier le pom et de le réimporter. IntelliJ choisira les paramètres corrects sans avoir à les modifier manuellement.

1541
Weslor

Vous devez accéder à Paramètres et définir les éléments suivants sous le compilateur Java:  enter image description here

vérifiez également les paramètres du projet

160
Gregory Mazur

Cela ressemble au genre d'erreur générée par Maven lorsque le plug-in du compilateur n'est pas configuré correctement. Voici un exemple de configuration de compilateur Java 8.

<project xmlns="http://maven.Apache.org/POM/4.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.Apache.org/POM/4.0.0 http://maven.Apache.org/xsd/maven-4.0.0.xsd">

<!-- ... -->

    <build>
        <plugins>
            <plugin>
                <groupId>org.Apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.5.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

<!-- ... -->

</project>
106
Steve Chaloner

La façon rapide dont j'ai trouvé:

  • presse:CTRL + SHIFT + A (Pour Mac  + SHIFT + A)
  • type: Java compiler
  • presse: ENTER

Dans la fenêtre de paramétrage, définissez le bytecode Target sur 1.8

(ou 9 pour Java9)

70
snovelli

Il y a deux façons de résoudre ce problème:

  1. Définir les paramètres (File -> Settings -> Build, Execution, Deployment -> Java Compiler):  enter image description here
  2. Ajoutez une section de construction à votre pom.xml:  enter image description here
25
Lord Nighton

Beaucoup de réponses concernant Maven ont raison, mais vous n'avez pas à configurer directement le plug-in.

Comme décrit sur la page wiki du plugin Apache Maven Compiler, vous pouvez simplement définir les 2 propriétés utilisées par le plugin.

<project>
  [...]
  <properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>
  [...]
</project>
13
Marvin Richter

J'ai corrigé cela en allant dans Structure du projet -> Modules , recherchez le module en question, cliquez sur Dépendances onglet, remplacez Module SDK par Project SDK.

10
Sam Barnum

Je l'ai corrigé simplement en changeant la version de compilation cible en 1.8. C'est dedans:

Fichier >> Paramètres >> Construction, Exécution, Déploiement >> Compilateur >> Compilateur Java

8
Vishal

Vous devez aller au /.idea/compiler.xml et changer target au niveau requis jdk .  enter image description here

3
Usman

Dans mon cas, j'ai résolu ce problème en ouvrant le fichier .iml du projet (il se trouve dans le dossier racine du projet et porte le même nom que le nom du projet) et en remplaçant la ligne <orderEntry type="jdk" jdkName="1.7" jdkType="JavaSDK" /> par <orderEntry type="jdk" jdkName="1.8" jdkType="JavaSDK" />

J'ai tout configuré comme dans d'autres réponses ici, mais pour une raison quelconque, le fichier .iml mis à jour de façon incorrecte.

3
Cloud

Je viens de réimporter le bouton maven, puis l'erreur a disparu.

 enter image description here

3
Pham Hung

Je l'ai corrigé en modifiant mon fichier POM. Remarquez le dernier commentaire sous la réponse la plus votée.

<plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>2.3.2</version>
        <configuration>
            <source>1.8</source>
            <target>1.8</target>
            <encoding>UTF-8</encoding>
        </configuration>
</plugin>

La source doit correspondre à la cible.

2
user4884640

Je viens de passer un moment à lutter avec le même problème. La seule chose qui a fonctionné pour moi n’utilisait pas le MVN construit (3.3.9), mais le pointait vers une version téléchargée externe (3.5.0). Finalement, le projet s’est ouvert et tout était bon. 

1
thunder

Si vous travaillez avec Android-studio 1.3, suivez les étapes ci-dessous -

Aller à Fichier - Structure du projet

Sous modules - app - Propriétés onglet, choisissez Compatibilité de la source - 1.8 et

Compatibilité cible - 1.8 .

Et vous êtes prêt à partir.

1
B.shruti

Sous le fichier compiler.xml, vous trouverez:

<bytecodeTargetLevel>
  <module name="your_project_name_main" target="1.8" />
  <module name="your_project_name_test" target="1.8" />
</bytecodeTargetLevel>

et vous pouvez changer la valeur cible de votre ancienne valeur à la nouvelle pour moi. 

Avec Intellij, en utilisant Maven, vous devez vérifier qu'Intellij a importé automatiquement votre projet. Vous pouvez vérifier en cliquant sur l'onglet Maven à droite de votre éditeur.

 enter image description here

Si votre projet n'est pas ici, ajoutez le fichier pom.xml en cliquant sur +.

De toute évidence, le projet doit également avoir le <build/> correspondant:

    <plugin>
        <groupId>org.Apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
            <source>1.8</source>
            <target>1.8</target>
        </configuration>
    </plugin>
0
Nicolas Zozol

Pour moi, le problème était que Maven ne pouvait pas trouver les configurations appropriées, car ces éléments étaient spécifiés dans pom parent.

Changer le fichier -> Paramètres -> Construire, Exécution, Déploiement -> Maven -> Fichier de paramètres utilisateur pour pointer vers mes paramètres personnalisés avec des référentiels appropriés a résolu le problème qui était caché.

Vous avez découvert le problème en consultant Aide -> Afficher le journal dans l'Explorateur -> en cliquant sur le fichier journal, alors que précédemment l'erreur ne figurait que dans le titre et "Java.lang.NullPointerException" dans la console.

0
eis

La solution du problème est très simple . Vous devez ouvrir le fichier .idea/compiler.xml sur votre projet İdea et 

Vous devez écrire la version cible appropriée

0
Axmedbek

N'oubliez pas de définir les dépendances de votre module:  enter image description here

0
Hieu Vo

J'ai vérifié tout ce qui précède, mais l'erreur persiste.

Mais réimporter tous les projets Maven (bouton de rechargement dans le panneau Projets Maven) fonctionne dans mon cas.

0
snap

Ce problème se produit si votre module est configuré avec un processeur Annotation et qu'un autre module ne l'est pas. Définissez la même configuration pour tous les modules, car il s'agit d'une dépendance cyclique.

0
Gani

Si aucune des autres réponses ne fonctionne, vérifiez votre module SDK .

J'ai eu cette erreur pop-up pour moi après avoir mis à jour le SDK de projet à 1.8, le compilateur Javac à 1.8, etc.

(sous Linux) Allez à File > Project Structure... puis dans la fenêtre qui s’ouvre, sélectionnez Modules sous Project Settings. Sélectionnez le module en question dans la liste, puis l'onglet Dependencies et assurez-vous que Module SDK est défini correctement.

0
dzimney

Dans votre fichier de niveau d'application Gradle >> compileOptions, ajoutez ces deux lignes.

Android {
  compileOptions {
    ...
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
    ...
   }
}
0
Badr