关于今天遇到的两个bug

Bug1:

Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain) throws java.lang.ClassFormatError accessible: module java.base does not "opens java.lang" to unnamed module @5479e3f
 

这是jdk版本兼容问题, jdk8 中有关反射相关的功能自从 jdk9 开始就已经被限制了。

为了兼容原先的版本,只需在运行项目时添加参数

--add-opens java.base/java.lang=ALL-UNNAMED

 选项来开启这种默认不被允许的行为。 

 关于今天遇到的两个bug_第1张图片

 

 关于今天遇到的两个bug_第2张图片

 

 Bug2:

java.lang.NoClassDefFoundError: javax/annotation/PostConstruct

    at com.google.inject.internal.MembersInjectorImpl.notifyListeners(MembersInjectorImpl.java:131)
    at com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:117)
    at com.google.inject.internal.Initializer$InjectableReference.get(Initializer.java:245)
    at com.google.inject.internal.Initializer.injectAll(Initializer.java:140)
    at com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:176)
    at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:109)
    at com.google.inject.Guice.createInjector(Guice.java:87)
    at com.google.inject.Guice.createInjector(Guice.java:69)
    at com.po.Launcher.main(Launcher.java:7)

原因:找不到相关依赖,手动导入相关依赖即可

        
            javax.annotation
            javax.annotation-api
            1.3.2
        

 

你可能感兴趣的:(Bug,bug,java)