Rumah >Java >javaTutorial >Mengapa Java 8 Throw \'Jenis java.lang.reflect.AnnotatedElement tidak boleh diselesaikan\' dengan LogManager dalam Eclipse?
Kekeliruan Laluan Kelas: java.lang.reflect.AnnotatedElement Ralat dengan LogManager dalam Java 8 Menggunakan Eclipse
Semasa beralih dari Java 7u45 ke Java 8u20 , pembangun mungkin menghadapi ralat yang membingungkan apabila menggunakan kelas LogManager. Pengisytiharan log Logger statik peribadi yang kelihatan tidak berbahaya = LogManager.getLogger(Class1.class) menimbulkan ralat: "Jenis java.lang.reflect.AnnotatedElement tidak boleh diselesaikan. Ia secara tidak langsung dirujuk daripada fail .class yang diperlukan."
Eclipse menggesa pengguna untuk mengkonfigurasi laluan binaan, menyebabkan mereka tidak pasti tentang punca isu tersebut. Ralat ini timbul kerana perubahan versi Java 8 JDK yang mendasari. Apabila bekerja dengan JDK 8 dan IDE yang menggunakan pengkompilnya (seperti Eclipse), adalah penting untuk mengemas kini IDE kepada versi yang menyokong Java 8.
Keperluan ini berpunca daripada fakta bahawa pengkompil perlu memuatkan fail kelas terkini daripada JRE untuk menyusun perisian yang merujuk kepada kelas ini. Walaupun penyusun lama kadangkala terlepas pandang nombor versi fail kelas yang dikemas kini, jenis tertentu boleh mengelirukan mereka. AnnotatedElement, contohnya, kini termasuk kaedah lalai, manakala Map.Entry ialah antara muka dengan kaedah statik tambahan.
Mesej ralat Eclipse, "«classname» tidak dapat diselesaikan," tidak membezakan antara kes di mana fail kelas tidak dapat ditemui dan yang mana pengkompil menghadapi masalah membacanya. Masalah yang sama mungkin berlaku apabila menggunakan alatan dan rangka kerja yang menyepadukan pengkompil ECJ.
Atas ialah kandungan terperinci Mengapa Java 8 Throw \'Jenis java.lang.reflect.AnnotatedElement tidak boleh diselesaikan\' dengan LogManager dalam Eclipse?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!