我的项目启动报错如下:
[spring/spring-mvc.xml]: Initialization of bean failed; nested exception is java.lang.UnsupportedClassVersionError: org/apache/ibatis/session/SqlSession : Unsupported major.minor version 52.0
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:553)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:305)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:301)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:201)
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:120)
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:673)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:519)
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:446)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:328)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4939)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5434)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.UnsupportedClassVersionError: org/apache/ibatis/session/SqlSession : Unsupported major.minor version 52.0
如果报错信息说“Caused by: java.lang.UnsupportedClassVersionError: org/apache/ibatis/session/SqlSession : Unsupported major.minor version 52.0”可知是mybatis的版本与spring的版本不一致。我把项目pom.xml配置文件修改如下:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<spring.version>4.2.0.RELEASE</spring.version>
<mybatis.version>3.3.0</mybatis.version>
</properties>
解答:这个异常Unsupported major.minor version 52.0,有以下几种可能导致的:
①项目jdk版本和这个类需要的jdk版本不一致导致的,所以要更改项目jdk,还有编译版本都和该类需要的一致
②maven的jdk编译版本要配置一致,否则一旦我们maven–>update project之后,项目又回到maven的setting.xml里面配的jdk版本了
③因为上面的异常中出现了这一句“unable to load class org.apache.ibatis.builder.xml.XMLIncludeTransformer”,所以是jar包版本的问题导致的,直接修改pom.xml中的相关jar包的依赖版本即可
参考链接:https://blog.youkuaiyun.com/qq_40241957/article/details/83477176