Apache Tomcat无法加载Mysql驱动程序

时间:2016-11-15 13:39:48

标签: java mysql apache tomcat7 classpath

我正在使用mysql作为DB处理应用程序和我的应用程序。因此我在应用程序的WEB-INF / loib altinda中包含了mysql jar文件。仍然c3p0库无法加载mysql数据库驱动程序以进行池化。

> 2016-11-15 15:32:23,464
> [C3P0PooledConnectionPoolManager[identityToken->188ezpw9ksw669r1vn17m6|1032a547]-HelperThread-#8]
> DEBUG org.apache.catalina.loader.WebappClassLoader-
> loadClass("com.mysql.jdbc.Driver", false) 2016-11-15 15:32:23,464
> [C3P0PooledConnectionPoolManager[identityToken->188ezpw9ksw669r1vn17m6|1032a547]-HelperThread-#8]
> DEBUG org.apache.catalina.loader.WebappClassLoader-   Searching local
> repositories 2016-11-15 15:32:23,464
> [C3P0PooledConnectionPoolManager[identityToken->188ezpw9ksw669r1vn17m6|1032a547]-HelperThread-#8]
> DEBUG org.apache.catalina.loader.WebappClassLoader-    
> findClass("com.mysql.jdbc.Driver") 2016-11-15 15:32:23,464
> [C3P0PooledConnectionPoolManager[identityToken->188ezpw9ksw669r1vn17m6|1032a547]-HelperThread-#8]
> DEBUG org.apache.catalina.loader.WebappClassLoader-   Delegating to
> parent classloader at end:
> org.apache.catalina.loader.StandardClassLoader@21d195ca Nov 15, 2016
> 3:32:23 PM com.mchange.v2.log.slf4j.Slf4jMLog$Slf4jMLogger$WarnLogger
> log WARNING: Could not load driverClass "com.mysql.jdbc.Driver"
> java.lang.ClassNotFoundException: "com.mysql.jdbc.Driver"     at
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720)
>   at
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)
>   at java.lang.Class.forName0(Native Method)  at
> java.lang.Class.forName(Class.java:190)   at
> com.mchange.v2.c3p0.DriverManagerDataSource.ensureDriverLoaded(DriverManagerDataSource.java:143)
>   at
> com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:173)
>   at
> com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:220)
>   at
> com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:206)
>   at
> com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:203)
>   at
> com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1138)
>   at
> com.mchange.v2.resourcepool.BasicResourcePool.doAcquireAndDecrementPendingAcquiresWithinLockOnSuccess(BasicResourcePool.java:1125)
>   at
> com.mchange.v2.resourcepool.BasicResourcePool.access$700(BasicResourcePool.java:44)   at
> com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask.run(BasicResourcePool.java:1870)
>   at
> com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:696)

1 个答案:

答案 0 :(得分:1)

如果您通过JNDI配置了数据库连接,则可能是驱动程序必须位于tomcat/lib而不是webapp的lib目录中