【修BUG】WARNING:Illegal reflective access by com.baomidou.mybatisplus.core.toolkit.setAccessibleAction
问题
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.baomidou.mybatisplus.core.toolkit.setAccessibleAction
分析
这是一个 Java 运行时环境的警告信息,通常会在使用某些开源框架或者库时出现。这个警告信息表示在运行时发生了非法反射操作,可能会影响应用程序的稳定性和可靠性。
反射是一种 Java 语言的特性,可以在运行时获取类、方法、字段等信息,并且可以动态地调用方法或者访问字段。然而,使用反射操作可能会破坏封装性和安全性,因此在 Java 9 之后,Java 引入了模块化系统,限制了反射操作的范围,以提高应用程序的安全性和稳定性。
解决方案
当出现上述警告信息时,可能是因为使用的框架或者库使用了一些不受支持的反射操作,例如使用 setAccessible 方法来访问私有的方法或者字段。为了避免这个问题,可以采取以下措施:
-
升级使用的框架或者库到最新版本,以获得最新的修复和优化。
-
如果使用的是 Java 9 及以上版本,可以在启动应用程序时加上
--illegal-access=deny或者--illegal-access=warn参数来禁用或者警告非法反射操作。 -
如果使用的是 Java 8 或者更早的版本,可以在启动应用程序时加上
-Djdk.reflect.allowGetDeclaredConstructors=true或者-Djdk.reflect.allowGetDeclaredMethods=true参数来允许某些非法反射操作。不过,这并不是一种推荐的做法,可能会影响应用程序的稳定性和可靠性。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)