Maison >Java >javaDidacticiel >Pourquoi le JDK 8 génère-t-il une erreur de résolution « AnnotatedElement » avec LogManager ?

Pourquoi le JDK 8 génère-t-il une erreur de résolution « AnnotatedElement » avec LogManager ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-18 08:18:02743parcourir

Why Does JDK 8 Throw an

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn