mysql类加载_java - java.sql.SQLException:无法从ClassLoader加载类:com.mysql.jdbc.Driver - 堆栈内存溢出...

在服务器上运行Web应用程序时,出现以下异常:

使用的服务器: Apache Tomcat 8.5

异常: java.sql.SQLException:无法从ClassLoader加载类:com.mysql.jdbc.Driver

我尝试了很多事情,包括将ojdbc6.jar放到WEB-INF / lib文件夹中,将jar放到apache tomcat lib文件夹中,在项目的构建路径中,我已经手动添加了jar,也基于谷歌的发现尝试了几次周转,但没有就我而言是可行的。

从Web应用程序的角度来看,类或资源的加载按以下顺序查找以下存储库:

JVM的Bootstrap类

/ WEB-INF /您的网络应用程序类

Web应用程序的/WEB-INF/lib/*.jar

系统类加载器类(如上所述)

通用类加载器类(如上所述)

我在/ WEB-INF / lib /文件夹中有jar。

完整的堆栈跟踪。

java.sql.SQLException: Unable to load class: com.mysql.jdbc.Driver from ClassLoader:java.net.URLClassLoader@76ed5528;ClassLoader:ParallelWebappClassLoader

context: ROOT

delegate: false

----------> Parent Classloader:

java.net.URLClassLoader@76ed5528

at org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:283)

at org.apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection.java:203)

at org.apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:718)

at org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:650)

at org.apache.tomcat.jdbc.pool.ConnectionPool.init(ConnectionPool.java:468)

at org.apache.tomcat.jdbc.pool.ConnectionPool.(ConnectionPool.java:143)

at org.apache.tomcat.jdbc.pool.DataSourceProxy.pCreatePool(DataSourceProxy.java:118)

at org.apache.tomcat.jdbc.pool.DataSourceProxy.createPool(DataSourceProxy.java:107)

at org.apache.tomcat.jdbc.pool.DataSourceFactory.createDataSource(DataSourceFactory.java:554)

at org.apache.tomcat.jdbc.pool.DataSourceFactory.getObjectInstance(DataSourceFactory.java:241)

at org.apache.naming.factory.FactoryBase.getObjectInstance(FactoryBase.java:94)

at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:321)

at org.apache.naming.NamingContext.lookup(NamingContext.java:839)

at org.apache.naming.NamingContext.lookup(NamingContext.java:173)

at org.apache.catalina.core.NamingContextListener.addResource(NamingContextListener.java:1091)

at org.apache.catalina.core.NamingContextListener.createNamingContext(NamingContextListener.java:661)

at org.apache.catalina.core.NamingContextListener.lifecycleEvent(NamingContextListener.java:249)

at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:94)

at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5087)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1404)

at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1394)

at java.util.concurrent.FutureTask.run(FutureTask.java:266)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)

at java.lang.Thread.run(Thread.java:748)

Caused by: java.lang.ClassNotFoundException: Unable to load class: com.mysql.jdbc.Driver from ClassLoader:java.net.URLClassLoader@76ed5528;ClassLoader:ParallelWebappClassLoader

context: ROOT

delegate: false

----------> Parent Classloader:

java.net.URLClassLoader@76ed5528

at org.apache.tomcat.jdbc.pool.ClassLoaderUtil.loadClass(ClassLoaderUtil.java:56)

at org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:271)

... 25 more

Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1285)

at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1119)

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Class.java:348)

at org.apache.tomcat.jdbc.pool.ClassLoaderUtil.loadClass(ClassLoaderUtil.java:38)

... 26 more

May 07, 2019 4:04:12 PM org.apache.naming.NamingContext lookup

WARNING: Unexpected exception resolving reference

java.sql.SQLException: Unable to load class: com.mysql.jdbc.Driver from ClassLoader:java.net.URLClassLoader@76ed5528;ClassLoader:ParallelWebappClassLoader

context: ROOT

delegate: false

----------> Parent Classloader:

java.net.URLClassLoader@76ed5528

at org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:283)

at org.apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection.java:203)

at org.apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:718)

at org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:650)

at org.apache.tomcat.jdbc.pool.ConnectionPool.init(ConnectionPool.java:468)

at org.apache.tomcat.jdbc.pool.ConnectionPool.(ConnectionPool.java:143)

at org.apache.tomcat.jdbc.pool.DataSourceProxy.pCreatePool(DataSourceProxy.java:118)

at org.apache.tomcat.jdbc.pool.DataSourceProxy.createPool(DataSourceProxy.java:107)

at org.apache.tomcat.jdbc.pool.DataSourceFactory.createDataSource(DataSourceFactory.java:554)

at org.apache.tomcat.jdbc.pool.DataSourceFactory.getObjectInstance(DataSourceFactory.java:241)

at org.apache.naming.factory.FactoryBase.getObjectInstance(FactoryBase.java:94)

at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:321)

at org.apache.naming.NamingContext.lookup(NamingContext.java:839)

at org.apache.naming.NamingContext.lookup(NamingContext.java:173)

at org.apache.catalina.core.NamingContextListener.addResource(NamingContextListener.java:1091)

at org.apache.catalina.core.NamingContextListener.createNamingContext(NamingContextListener.java:661)

at org.apache.catalina.core.NamingContextListener.lifecycleEvent(NamingContextListener.java:249)

at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:94)

at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5087)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1404)

at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1394)

at java.util.concurrent.FutureTask.run(FutureTask.java:266)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)

at java.lang.Thread.run(Thread.java:748)

Caused by: java.lang.ClassNotFoundException: Unable to load class: com.mysql.jdbc.Driver from ClassLoader:java.net.URLClassLoader@76ed5528;ClassLoader:ParallelWebappClassLoader

context: ROOT

delegate: false

----------> Parent Classloader:

java.net.URLClassLoader@76ed5528

at org.apache.tomcat.jdbc.pool.ClassLoaderUtil.loadClass(ClassLoaderUtil.java:56)

at org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:271)

... 25 more

Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1285)

at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1119)

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Class.java:348)

at org.apache.tomcat.jdbc.pool.ClassLoaderUtil.loadClass(ClassLoaderUtil.java:38)

... 26 more

May 07, 2019 4:04:12 PM org.apache.catalina.core.NamingContextListener addResource

WARNING: Failed to register in JMX: javax.naming.NamingException: Unable to load class: com.mysql.jdbc.Driver from ClassLoader:java.net.URLClassLoader@76ed5528;ClassLoader:ParallelWebappClassLoader

cont8ext: ROOT

delegate: false

----------> Parent Classloader:

java.net.URLClassLoader@76ed552

预期结果:绝对不能抛出jar的任何异常,因为/ WEB-INF / lib /和tomcat / lib文件夹中已经存在jar。

实际结果:如上所述,它引发了Exception。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值