WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective acces
报错:
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.apache.catalina.loader.WebappClassLoaderBase (file:/D:/Apache%20Software%20Foundation/apache-tomcat-9.0.13/lib/catalina.jar) to field java.io.ObjectStreamClass$Caches.localDescs
WARNING: Please consider reporting this to the maintainers of org.apache.catalina.loader.WebappClassLoaderBase
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
原因:
我的原因是因为mybatis的版本太低了(maybe),反正改的改一点之后就没报错了。
解决办法:
把mybatis的版本改成了3.5.2
<!-- MyBatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.2</version>
</dependency>
然后就没再报错了。
如果配置文件中还有mybatis-spring,那也要修改其版本。
如果不修改,spring-mybatis和mybatis版本不匹配,会产生冲突,
报错:java.lang.AbstractMethodError:
org.mybatis.spring.transaction.SpringManagedTransaction.getTimeout()
所以,mybatis 与mybatis-spring 版本一定要对应。
<!-- MyBatis 与 Spring 整合 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.2</version>
</dependency>