J'essaie d'utiliser un java.lang.function.Function
dans ma base de code java 8, mais je continue à recevoir l'erreur suivante dans Intellij.
Utilisation de l'API documentée comme @since 1.6+ Cette inspection trouve toutes les utilisations des méthodes qui ont la balise @since dans leur documentation. Cela peut être utile lorsque le développement est effectué sous une version plus récente du SDK en tant que plate-forme cible pour la production
Je semble avoir les bons paramètres de projet et de compilateur
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?
la source
Project default
niveau de langue (dans l'Sources
onglet).Project Settings
se trouve dansFile -> Project Structure
Si vous utilisez maven, ajoutez la ligne ci-dessous dans votre fichier de configuration pom.xml , puis réimportez-le ou compilez- le à partir de maven.
Sinon, sélectionnez le compilateur java et le niveau de langue ci-dessous.
Fichier> Structure du projet> Paramètres du projet> Modules> le nom de votre module> Sources> Niveau de langue> choisissez celui dont vous avez besoin.
Changer le niveau de langue à partir d'ici: -
la source
En fait, si vous utilisez Maven et que les
pom.xml
propriétés de votre projet sont correctement configuréesVous pouvez réimporter les paramètres Maven dans le
intellij-idea
projet - faites un clic droit sur l'entrée racine du projet, puisMaven -> Reimport
qui se trouve en bas.la source
Je viens de le réparer comme suit:
Faites un clic droit sur le projet -> Ouvrir les paramètres du module -> Modules -> Sources -> 8 ou plus
Puis
Si l'erreur persiste et que vous utilisez maven , vous devez ajouter la configuration de construction dans votre
pom.xml
:la source
Fichier> Paramètres> Construction, exécution, déploiement> Compilateur Java
Changez la version de bytecode cible en 1.8 du module pour lequel vous travaillez.
Si vous utilisez Maven
Ajoutez le plugin du compilateur à pom.xml sous le nœud de projet de niveau supérieur:
la source
Si vous utilisez Gradle, n'oubliez pas de vous assurer que ce qui suit est défini sur 1,8 et non sur 1,5 (par exemple pour une raison étrange dans Intelij, il est par défaut sur 1,5) donc peu importe ce que vous faites au niveau du projet pour définir le compilateur niveau de compatibilité, ce paramètre le fera continuer à vous poser des problèmes avec les fonctionnalités de Java 8 qu'il ne reconnaîtrait pas:
la source
Peut-être que votre configuration de référentiel a des propriétés incluant la version du compilateur. examiner le
settings.xml
fichier.la source
Il existe un autre endroit qui pourrait être à l'origine de ce problème, que vous utilisiez ou non Maven ou Gradle.
Dans
Settings | Editor | Inspections | Java language level migration aids | Usages of API which isn't available at the configured language level
, la valeur par défaut (je crois) est définie surRespecting to project language level settings
, mais elle peut être définie surHigher than:
, ce qui ignore les paramètres du projet.Cela signifie que si vous suivez les instructions des autres réponses et que vous définissez le niveau de langue de votre projet sur, par exemple, 8, mais que l'inspection est définie sur
Higher than: 7
, IDEA fera toujours un ajustement.la source