java.lang.NoClassDefFoundError: org/apache/commons/pool/impl/GenericObjectPool

本文介绍了Spring框架中数据源(dataSource)的配置方法,并详细解释了如何解决因缺少commons-pool.jar包导致的问题。此外,还提供了两种不同数据库的数据源配置示例。

<bean id="myDataSource"
   class="org.apache.commons.dbcp.BasicDataSource">
   <property name="driverClassName">
   <value>com.microsoft.jdbc.sqlserver.SQLServerDriver </value>
   </property>
   <property name="url">
   <value>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=exam </value>
   </property>
   <property name="username">
   <value>sa </value>
   </property>
   <property name="password">
   <value>sa </value>
   </property>
   </bean>

 

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver">
  
</property>
 
<property name="url" value="jdbc:oracle:thin:@localhost:1521:oracle">
  
</property>
  
<property name="username" value="user"></property>
  
<property name="password"value="password"></property>
 
</bean>

上面是一个普通的spring配置文件中dataSource bean的jdbc配置部分运行时的报错对照一下上面的配置,如果的配置文件没写错的话,那就是在一下几个地方出了问题:
第一、工程中少了org/apache/commons/pool/impl/GenericObjectPool 所在的包: 这个 类在commons-pool.jar包中 请去apache官方下载一个,放到工程中。
第二、如果加入之后还出现问题,请检查你的数据库驱动包是否配置正确

 

原因:少加一个包 commons-pool.jar

ava.lang.IllegalStateException: Illegal access: this web application instance has been stopped already. Could not load [org.apache.commons.pool.impl.GenericObjectPool$ObjectTimestampPair]. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access. at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading(WebappClassLoaderBase.java:1372) at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForClassLoading(WebappClassLoaderBase.java:1360) at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1219) at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1180) at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:772) at org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:95) at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540) at org.apache.ibatis.session.defaults.DefaultSqlSessionFactory.openSessionFromDataSource(DefaultSqlSessionFactory.java:73) at org.apache.ibatis.session.defaults.DefaultSqlSessionFactory.openSession(DefaultSqlSessionFactory.java:52) at com.saint.pub.database.BaseDaoImpl.getListBySql(BaseDaoImpl.java:113) at com.saint.systemManager.dao.imp.CommMessageSendDaoImpl.selectListCommMessageSendBySql(CommMessageSendDaoImpl.java:57) at com.saint.systemManager.services.imp.CommMessageSendServiceImpl.selectListCommMessageSendBySql(CommMessageSendServiceImpl.java:155) at com.saint.systemManager.ctrl.HeartBeatAction.roundLookWaitMessage(HeartBeatAction.java:21) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:273) at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:264) at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:86) at org.quartz.core.JobRunShell.run(JobRunShell.java:202) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:529) 八月 29, 2025 3:31:42 下午 org.apache.catalina.loader.WebappClassLoaderBase checkStateForResourceLoading 信息: Illegal access: this web application instance has been stopped already. Could not load [org.apache.log4j.spi.ThrowableInformation]. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access. java.lang.IllegalStateException: Illegal access: this web application instance has been stopped already. Could not load [org.apache.log4j.spi.ThrowableInformation]. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access. at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading(WebappClassLoaderBase.java:1372) at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForClassLoading(WebappClassLoaderBase.java:1360) at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1219) at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1180) at org.apache.log4j.spi.LoggingEvent.<init>(LoggingEvent.java:154) at org.apache.log4j.Category.forcedLog(Category.java:388) at org.apache.log4j.Category.log(Category.java:853) at org.apache.commons.logging.impl.Log4JLogger.error(Log4JLogger.java:251) at org.quartz.core.JobRunShell.run(JobRunShell.java:211) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:529) Exception in thread "scheduler_Worker-1" java.lang.NoClassDefFoundError: org/apache/log4j/spi/ThrowableInformation at org.apache.log4j.spi.LoggingEvent.<init>(LoggingEvent.java:154) at org.apache.log4j.Category.forcedLog(Category.java:388) at org.apache.log4j.Category.log(Category.java:853) at org.apache.commons.logging.impl.Log4JLogger.error(Log4JLogger.java:251) at org.quartz.core.JobRunShell.run(JobRunShell.java:211) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:529) Caused by: java.lang.ClassNotFoundException: Illegal access: this web application instance has been stopped already. Could not load [org.apache.log4j.spi.ThrowableInformation]. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access. at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForClassLoading(WebappClassLoaderBase.java:1362) at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1219) at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1180) ... 6 more Caused by: java.lang.IllegalStateException: Illegal access: this web application instance has been stopped already. Could not load [org.apache.log4j.spi.ThrowableInformation]. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access. at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading(WebappClassLoaderBase.java:1372) at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForClassLoading(WebappClassLoaderBase.java:1360) ... 8 more
最新发布
08-30
java.lang.NoClassDefFoundError: Could not initialize class io.netty.util.internal.PlatformDependent0 at io.netty.util.internal.PlatformDependent.getSystemClassLoader(PlatformDependent.java:694) at io.netty.channel.nio.NioEventLoop$4.run(NioEventLoop.java:171) at java.base/java.security.AccessController.doPrivileged(AccessController.java:319) at io.netty.channel.nio.NioEventLoop.openSelector(NioEventLoop.java:167) at io.netty.channel.nio.NioEventLoop.<init>(NioEventLoop.java:149) at io.netty.channel.nio.NioEventLoopGroup.newChild(NioEventLoopGroup.java:102) at io.netty.util.concurrent.MultithreadEventExecutorGroup.<init>(MultithreadEventExecutorGroup.java:64) at io.netty.channel.MultithreadEventLoopGroup.<init>(MultithreadEventLoopGroup.java:49) at io.netty.channel.nio.NioEventLoopGroup.<init>(NioEventLoopGroup.java:70) at io.netty.channel.nio.NioEventLoopGroup.<init>(NioEventLoopGroup.java:65) at io.netty.channel.nio.NioEventLoopGroup.<init>(NioEventLoopGroup.java:56) at org.apache.rocketmq.remoting.netty.NettyRemotingClient.<init>(NettyRemotingClient.java:122) at org.apache.rocketmq.client.impl.MQClientAPIImpl.<init>(MQClientAPIImpl.java:188) at org.apache.rocketmq.client.impl.factory.MQClientInstance.<init>(MQClientInstance.java:133) at org.apache.rocketmq.client.impl.MQClientManager.getOrCreateMQClientInstance(MQClientManager.java:53) at org.apache.rocketmq.tools.admin.DefaultMQAdminExtImpl.start(DefaultMQAdminExtImpl.java:120) at org.apache.rocketmq.tools.admin.DefaultMQAdminExt.start(DefaultMQAdminExt.java:145) at org.apache.rocketmq.dashboard.admin.MQAdminFactory.getInstance(MQAdminFactory.java:53) at org.apache.rocketmq.dashboard.admin.MQAdminPooledObjectFactory.makeObject(MQAdminPooledObjectFactory.java:35) at org.apache.commons.pool2.impl.GenericObjectPool.create(GenericObjectPool.java:888) at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:432) at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObject
03-12
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值