Maison >Java >javaDidacticiel >Pourquoi le JDK 8 génère-t-il une erreur de résolution « AnnotatedElement » avec LogManager ?
Problème de compatibilité Java 8 avec LogManager : compréhension de l'erreur de résolution "AnnotatedElement"
Lors de la transition d'un projet Java du JDK 7 vers le JDK 8, vous pouvez rencontrer une erreur particulière impliquant l'utilisation de LogManager. Plus précisément, la déclaration de « logger statique privé = LogManager.getLogger(Class1.class); » dans votre classe déclenchera l'erreur suivante :
The type java.lang.reflect.AnnotatedElement cannot be resolved. It is indirectly referenced from required .class files
Le problème sous-jacent
L'introduction de JDK 8 est livrée avec des fichiers de classe spécifiques à Java 8, qui contiennent des fonctionnalités plus récentes telles que méthodes par défaut et méthodes d’interface statique. Afin de réussir à compiler le code source Java faisant référence à ces nouvelles fonctionnalités, vous devez mettre à niveau votre IDE ou tout autre outil/framework de traitement de code doté de son propre compilateur (comme Eclipse) vers une version compatible avec Java 8.
Le rôle du compilateur
Le compilateur joue un rôle crucial dans le chargement et le traitement des fichiers de classe les plus récents associés à Java 8. En mettant à jour votre compilateur, vous vous assurez qu'il peut interpréter correctement ces fichiers de classe et, à votre tour, compilez votre code en les référençant.
Comportement d'Eclipse
Il est important de noter qu'Eclipse peut ne pas faire la distinction clairement entre les classes qu'il ne trouve pas et les classes qu'il rencontre des erreurs essayer de lire. Ainsi, lorsqu'il indique « « classname » ne peut pas être résolu », il peut faire référence à l'un ou l'autre scénario.
Résoudre le problème
La solution est simple : mettez à jour votre IDE ou outil vers la dernière version avec prise en charge de Java 8. Ce faisant, vous fournissez à votre compilateur les fonctionnalités nécessaires pour comprendre les fichiers de classe Java 8 et compiler avec succès votre code.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!