Po prostu napotkałem dziwny błąd podczas zmiany wersji JDK nowego projektu z 7u45 na 8u20. Nieszkodliwe deklaracja LogManager na początku mojej klasie jest odmówił z powodu następującego błędu:Błąd podczas używania LogManager (l4j2) z Java 8 (java.lang.reflect.AnnotatedElement nie można rozwiązać)
The type java.lang.reflect.AnnotatedElement cannot be resolved. It is indirectly referenced from required .class files
Jest to kod:
public class Class1 {
private static Logger log = LogManager.getLogger(Class1.class);
...
Eclipse proponuje mi skonfigurować ścieżkę kompilacji, ale nie mają Pomysł co skonfigurować, ponieważ nie znam podstawowego problemu tego błędu.
Korzystanie z JDK w wersji 7, wszystko działa dobrze.
OK, wydaje się logiczne. Dzięki! :) – Corsair
Tylko dla kompletności, to samo dotyczy, jeśli klasa wymieniona w błędzie kompilatora jest ['Map.Entry'] (http://docs.oracle.com/javase/8/docs/api/java/util/Map .Entry.html) (jak w wielu pytaniach), ponieważ 'interfejs' ma teraz' statyczne' metody ... – Holger
Nie musisz aktualizować swojego IDE. Możesz także zainstalować starszy JDK/JRE i określić, że Eclipse używa starszej wersji (Okno> Preferencje> Zainstalowane JRE). Na przykład. Podałem C: \ Program Files \ Java \ jdk1.7.0_67 \ jre tam i błąd zniknął. – Jim