配置数据库连接时,报错无法找到org.apache.commons.dbcp2.BasicDataSource错误信息
log4j:WARN No appenders could be found for logger (org.springframework.core.env.StandardEnvironment).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Exception in thread "main" org.springframework.beans.factory.CannotLoadBeanClassException: Error loading class [org.apache.commons.dbcp2.BasicDataSource] for bean with name 'dataSource' defined in class path resource [applicationContext.xml]: problem with class file or dependent class; nested exception is java.lang.UnsupportedClassVersionError: org/apache/commons/dbcp2/BasicDataSource : Unsupported major.minor version 52.0
at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1388)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineTargetType(AbstractAutowireCapableBeanFactory.java:641)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:609)
at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1484)
at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1007)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:741)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:866)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:542)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
at zq.ssm.test.findUserByIdMapperTest.findUserByIdMapperTest(findUserByIdMapperTest.java:11)
at zq.ssm.test.findUserByIdMapperTest.main(findUserByIdMapperTest.java:17)
Caused by: java.lang.UnsupportedClassVersionError: org/apache/commons/dbcp2/BasicDataSource : Unsupported major.minor version 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at org.springframework.util.ClassUtils.forName(ClassUtils.java:250)
at org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:401)
at org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1432)
at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1377)
... 11 more
配置文件<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans 
        http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
        http://www.springframework.org/schema/tx
        http://www.springframework.org/schema/tx/spring-tx-4.3.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-4.3.xsd
        http://www.springframework.org/schema/aop
        http://www.springframework.org/schema/aop/spring-aop-4.3.xsd">
<!--读取db.properties -->
<context:property-placeholder location="classpath:db.properties" />
<!--配置数据源 -->
<!-- 异常:class="org.apache.commons.dbcp2.BasicDataSource" -->
<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
<!--数据库驱动 -->
<property name="driverClassName" value="${jdbc.driver}" />
<!--连接数据库的ur1 -->
<property name="url" value="${jdbc.url}" />
<!--连接数据库的用户名 -->
<property name="username" value="${jdbc.username}" />
<!--连接数据库的密码 -->
<property name="password" value="${jdbc.password}" />
<!--最大连接数 -->
<property name="maxPoolSize" value="30"></property>
<!-- <property name="maxTotal" value="${jdbc.maxTotal}" /> -->
<!--最大空闲连接 -->
<property name="maxPoolIdle" value="10" />
<!-- <property name="maxIdle" value="${jdbc.maxIdle}" /> -->
<!--初始化连接数 -->
<property name="initialPoolSize" value="5"></property>
<!-- <property name="initialSize" value="${jdbc.initialSize}" /> -->
</bean>
<!--事务管理器,依赖于数据源 -->
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<!--注册事务管理器驱动,开启事务注解 -->
<tx:annotation-driven transaction-manager="transactionManager" />
<!--配置MyBatis工厂 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!--注入数据源 -->
<property name="dataSource" ref="dataSource" />
<!--指定核心配置文件位置 -->
<property name="configLocation" value="classpath:mybatis-config.xml" />
</bean> <!-- 实例化Dao,并将sqlSessionFactory对象注入到Bean的实例化对象中 -->
<bean id="userDao" class="zq.ssm.dao.impl.UserDaoImpl">
<property name="sqlSessionFactory" ref="sqlSessionFactory"></property>
</bean>

<!-- Mapper代理开发(基于MapperFactoryBean) -->
<!-- <bean id="userMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
<property name="mapperInterface" value="zq.ssm.mapper.UserMapper"></property>
<property name="sqlSessionFactory" ref="sqlSessionFactory"></property>
</bean> -->

<!-- 基于MapperScannerConfigurer -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="zq.ssm.mapper"></property>
</bean>
</beans>导入的包
里面有我下载的最新的dbcp2.jar包我觉得这应该不是代码问题网上说jdk要1.8以上,但是我的就是1.8上的,还是报错
求各位大佬帮忙看哈,谢谢啦

解决方案 »

  1.   

    Caused by: java.lang.UnsupportedClassVersionError: org/apache/commons/dbcp2/BasicDataSource : Unsupported major.minor version 52.0
    你的jdk是1.8,但是项目配置的jdk可能比较低,编译出来的war就按低版本运行
      

  2.   

    那请问怎么配置项目的jdk呢?
      

  3.   

    找到  JRE System Library  就能看到你配置项目的jdk版本
      

  4.   

    编译版本不能高于运行版本,比如你编译的时候用的jdk8下的compile,而最后放到了jdk7的jre中,这就不行了
    如果你jdk7编译,放到jdk8的jre中是没有问题的,java运行环境是向下兼容的