1. 错误详情
在启动SprinfBoot项目时,控制台会输出如下警告信息:
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector (file:/D:/ApplicationFiles/java/maven/resp/com/sun/xml/bind/jaxb-impl/2.3.0.1/jaxb-impl-2.3.0.1.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int)
WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
当然,此警告信息不会对项目的正常运行产生影响,但作为开发中遇到的一些问题,还是要了解其产生的原因;经过查询信息了解到,一般产生此告警信息是因为版本问题导致的,包括JDK版本,MyBatis-Plus版本与Springboot版本不匹配,Module版本不匹配等原因;
2.具体解决
2.1 JDK版本原因
JDK版本jdk版本太高(9以上的版本)可能会导致此告警的出现,不想出现此告警只需要将JDK版本降低到1.8即可;具体产生的原因还没有发现,等之后发现具体原因后会补充回答;
可以使用快捷键Ctrl+Alt+Shift+S 进入项目结构选择project进行设置:
在这里选择具体的项目设置JDK的版本;
2.2 MyBatis-Plus版本与Springboot版本不匹配
MyBatis-Plus版本与Springboot版本一个过高,一个过低也会导致此告警,当然这种情况更多会导致项目无法运行,可以到其官网查看其版本匹配列表,根据自己需求决定降低哪个框架的版本;
2.3 Module版本不匹配原因
最后就是创建Module时,版本选择错误,与JDK版本不匹配导致的,还是使用快捷键Ctrl+Alt+Shift+S 进入项目结构,选择Module进行设置: