当使用LogManager(l4j2)与Java 8(java.lang.reflect.AnnotatedEl
发布时间:2020-12-14 17:47:12 所属栏目:Java 来源:网络整理
导读:将我的一个新项目的JDK版本从7u45切换到8u20时,我遇到了一个奇怪的错误.在我的类开始时,一个无害的LogManager声明被拒绝使用以下错误: The type java.lang.reflect.AnnotatedElement cannot be resolved. It is indirectly referenced from required .class
将我的一个新项目的JDK版本从7u45切换到8u20时,我遇到了一个奇怪的错误.在我的类开始时,一个无害的LogManager声明被拒绝使用以下错误:
The type java.lang.reflect.AnnotatedElement cannot be resolved. It is indirectly referenced from required .class files 这是代码: public class Class1 { private static Logger log = LogManager.getLogger(Class1.class); ... Eclipse建议我配置构建路径,但是我没有想法要配置什么,因为我不知道那个错误的根本问题. 使用JDK与版本7,一切正常. 解决方法
当使用JDK 8和具有自己的编译器(如Eclipse)的IDE时,必须将IDE更新为具有Java 8支持的版本,即使您没有使用较新的Java 8功能.
原因是编译器必须能够加载JRE的较新类文件,以便编译引用这些类的软件. 有时候,当它忽略较新版本的类文件时,可以使用较旧的编译器.但有些类型会混淆旧类文件解析器,因为它们使用新功能,特别是 看来,Eclipse不会在不能找到类文件的引用中找到差异,而在“?classname?无法解析”时,类文件无法读取. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |