175 votes

Intellij - Impossible d'utiliser des classes Java 8 plus récentes - Erreur : "Utilisation de l'API documentée comme @since 1.6+.."

J'essaie d'utiliser un java.lang.function.Function dans ma base de code java 8, mais je continue à obtenir l'erreur suivante dans Intellij.

Utilisation de l'API documentée comme @since 1.6+ Cette inspection trouve tous les utilisations des méthodes qui ont la balise @since dans leur documentation. Ce site peut être utile lorsque le développement est effectué sous une version plus récente du SDK comme la plate-forme cible pour la production

Il semble que les paramètres du projet et du compilateur soient corrects.

Paramètres du projet : (Fichier -> Structure du projet)

Project Settings -> Project -> Project SDK = Java 1.8
Project Settings -> Project -> Project Language Level = 8 - Lambdas, Type Annotations etc

Paramètres du compilateur : (Fichier -> Paramètres)

Build, Execution, Deployment -> Compiler -> Java Compiler -> Project Bytecode Version : 1.8
Build, Execution, Deployment -> Compiler -> Java Compiler -> Per module Bytecode Version -> Target Bytecode Version : 1.8

Quel est le problème ?

380voto

Nerrve Points 1772

J'ai modifié la réponse en fonction du commentaire de Bastien Jansen.

Il semble qu'il y ait un autre paramètre du projet qui affecte le niveau du compilateur. Une indication subtile de ce problème est lorsque votre compilateur commence à se plaindre que la version source et la version cible de Java sont différentes de celles que vous avez spécifiées lors de la compilation du code.

Warning:java: source value 1.5 is obsolete and will be removed in a future release
Warning:java: target value 1.5 is obsolete and will be removed in a future release
Warning:java: To suppress warnings about obsolete options, use -Xlint:-options.

Pour se débarrasser de cela, vous devez ouvrir

File -> Project Structure -> Project Settings -> Modules -> "Your Module Name" -> Sources -> Language Level

et modifiez-le au niveau souhaité, c'est-à-dire 1.8 ou le niveau de langue par défaut du projet.

6 votes

Dans les paramètres du projet, vous devez configurer chaque module pour qu'il utilise l'attribut Project default au niveau de la langue (dans le Sources tab).

0 votes

@BastienJansen merci. J'ai modifié la réponse en fonction de vos commentaires !

7 votes

Project Settings se trouve dans File -> Project Structure

53voto

Ajay Points 1656

Si vous utilisez maven, ajoutez la ligne ci-dessous dans votre configuration. pom.xml et ensuite réimporter ou construire à partir de maven.

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

Else sélectionnez le compilateur java et le niveau de langue dans le chemin ci-dessous.

Fichier > Structure du projet > Paramètres du projet > Modules > votre nom de module > Sources > Niveau de langue > choisissez celui dont vous avez besoin.

enter image description here

Changez le niveau de langue à partir d'ici :-

enter image description here

1 votes

Merci beaucoup pour cela. Je ne sais pas pourquoi ce n'est pas par défaut. Même dans la version 2019.1.3 que j'utilise.

34voto

Boris Treukhov Points 5564

En fait, si vous utilisez Maven et que votre pom.xml les propriétés du projet sont configurées correctement

<project xmlns="...> 
....
<properties>
         <maven.compiler.source>1.8</maven.compiler.source>
         <maven.compiler.target>1.8</maven.compiler.target>
</properties>
...
</project

Vous pouvez réimporter les paramètres Maven dans intellij-idea projet - clic droit sur l'entrée Racine du projet, puis Maven -> Reimport qui se trouve en bas.

picture shows that Maven is second from last item in project right click menu

29voto

Hearen Points 2079

Je viens de le corriger comme suit :

Clic droit sur le projet -> Ouvrir les paramètres du module -> Modules -> Sources -> 8 ou supérieur

enter image description here

Et puis

enter image description here

Si vous rencontrez toujours l'erreur et que vous utilisez maven vous devez ajouter la configuration de construction dans votre fichier pom.xml :

<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>

4voto

harun ugur Points 378

Fichier > Paramètres > Build, Execution, Deployment > Compilateur Java

Changez la version du bytecode cible en 1.8 du module pour lequel vous travaillez.

Si vous utilisez Maven

Ajoutez le plugin de compilation à pom.xml sous le nœud de projet de premier niveau :

<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>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X