spring配置c3p0报错Could not load driverClass oracle.jdbc.OracleDriver

来源:互联网 发布:安卓软件培训 编辑:程序博客网 时间:2024/06/08 06:52

今天在spring+struts2+mybatis框架搭建中配置c3p0连接池时,上面这个异常找了好久都不知道为什么,后台才知道在我的jdbc.properties文件中driverClass=oracle.jdbc.OracleDriver后面多了空格导致找不到OracleDriver这个类报错,之后的空格清了就好了。

   我的spring配置c3p0连接池的部分代码

    <bean id="placeholderConfig" 
        class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
        <property name="location"> 
            <value>classpath:jdbc.properties</value> 
        </property> 
    </bean> 
 
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" 
        destroy-method="close"> 
        <property name="driverClass" value="${driverClass}" /> 
        <property name="jdbcUrl" value="${url}" /> 
        <property name="user" value="${username}" /> 
        <property name="password" value="${password}" /> 
    </bean>

  控制台报错如下:

2016-12-27 1:13:35 com.mchange.v2.c3p0.DriverManagerDataSource ensureDriverLoaded
警告: Could not load driverClass oracle.jdbc.OracleDriver
java.lang.ClassNotFoundException: oracle.jdbc.OracleDriver
 at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720)
 at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)
 at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
 at java.lang.Class.forName0(Native Method)
 at java.lang.Class.forName(Class.java:169)
 at com.mchange.v2.c3p0.DriverManagerDataSource.ensureDriverLoaded(DriverManagerDataSource.java:100)
 at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:132)
 at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:182)
 at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:171)
 at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:137)
 at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1014)
 at com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:32)
 at com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1810)
 at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)



1 0