仿百度贴吧项目实战错误分析

本文汇总了项目开发过程中常见的错误,包括数据库连接超时、空指针异常、表不存在及外键约束失败等问题,并提供了相应的解决思路。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


项目开发错误分析

这个错误是我在项目开发中遇到的次数最多的一个bug

org.apache.commons.dbcp.SQLNestedException: Cannot get a connection, pool error Timeout waiting foridle object

    at org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:104)

    at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)

    at cn.csdn.clb.changliaoba.util.JdbcUtil.getConn(JdbcUtil.java:32)

    at cn.csdn.clb.changliaoba.dao.ManagerDaoImpl.findCountRecord(ManagerDaoImpl.java:222)

    at cn.csdn.clb.changliaoba.service.ManagerServiceImpl.findCountRecord(ManagerServiceImpl.java:53)

    at cn.csdn.clb.changliaoba.servlet.ManagerListServlet.doGet(ManagerListServlet.java:33)

 

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

    atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)

    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)

    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)

    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)

    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)

    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)

    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)

    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)

    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:964)

    atorg.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)

 

    at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1824)

    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

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

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

Caused by: java.util.NoSuchElementException: Timeout waiting for idle object

    at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:825)

    at org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:96)

    ... 23 more

org.apache.commons.dbcp.SQLNestedException: Cannot get a connection, pool error Timeout waiting foridle object

    at org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:104)

    at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)

    at cn.csdn.clb.changliaoba.util.JdbcUtil.getConn(JdbcUtil.java:32)

    at cn.csdn.clb.changliaoba.dao.ManagerDaoImpl.findCountRecord(ManagerDaoImpl.java:222)

    at cn.csdn.clb.changliaoba.dao.ManagerDaoImpl.findCountPage(ManagerDaoImpl.java:237)

    at cn.csdn.clb.changliaoba.service.ManagerServiceImpl.findCountPage(ManagerServiceImpl.java:59)

 

    at cn.csdn.clb.changliaoba.servlet.ManagerListServlet.doGet(ManagerListServlet.java:35)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

    atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)

    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)

 

    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)

    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)

    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)

    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)

    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)

    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)

    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:964)

    atorg.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)

    at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1824)

    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

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

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

Caused by: java.util.NoSuchElementException: Timeout waiting for idle object

    at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:825)

    at org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:96)

    ... 24 more

2011-12-1 11:08:35org.apache.catalina.core.StandardWrapperValve invoke

严重:Servlet.service() for servlet [ManagerListServlet] in context with path [/CLB]threw exception

java.lang.NullPointerException

    at cn.csdn.clb.changliaoba.dao.ManagerDaoImpl.findCountPage(ManagerDaoImpl.java:238)

    at cn.csdn.clb.changliaoba.service.ManagerServiceImpl.findCountPage(ManagerServiceImpl.java:59)

    at cn.csdn.clb.changliaoba.servlet.ManagerListServlet.doGet(ManagerListServlet.java:35)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)

    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)

    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)

    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)

    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)

    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)

    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)

    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)

    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:964)

    atorg.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)

    at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1824)

    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

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

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

连接池被占满了,解决这个问题可以增加连接池连接个数,但如果程序有问题,没有释放连接,那你增加多少最终还是会有这错。发现在释放资源的时候没有释放connection对象。

 

插入错误

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:Table 'changliaoba.book' doesn't exist

         atsun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

         atsun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)

         atsun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

         atjava.lang.reflect.Constructor.newInstance(Unknown Source)

         atcom.mysql.jdbc.Util.handleNewInstance(Util.java:411)

         atcom.mysql.jdbc.Util.getInstance(Util.java:386)

         atcom.mysql.jdbc.SQLError.createSQLException(SQLError.java:1052)

         atcom.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3597)

         atcom.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3529)

         atcom.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1990)

         atcom.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2151)

         atcom.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2625)

         atcom.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2119)

         atcom.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2415)

         atcom.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2333)

         atcom.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2318)

         atorg.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:102)

         atcn.csdn.clb.changliaoba.dao.ManagerDaoImpl.regeister(ManagerDaoImpl.java:37)

         atcn.csdn.clb.changliaoba.junit.ManagerTest.register(ManagerTest.java:22)

         atsun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

         atsun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

         atsun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

         atjava.lang.reflect.Method.invoke(Unknown Source)

         atorg.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)

         atorg.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)

         atorg.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)

         atorg.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)

         atorg.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)

         atorg.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)

         atorg.junit.runners.ParentRunner$3.run(ParentRunner.java:193)

         atorg.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)

         atorg.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)

         atorg.junit.runners.ParentRunner.access$000(ParentRunner.java:42)

         atorg.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)

         atorg.junit.runners.ParentRunner.run(ParentRunner.java:236)

         atorg.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)

         atorg.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)

         atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)

         atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)

         atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)

         atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

插入失败

Table 'changliaoba.book' doesn't exist

把changliaoba改成manager

 

 

 

 

 

 

 

java.lang.NullPointerException

         atcn.csdn.clb.changliaoba.dao.TieziDaoImpl.findById(TieziDaoImpl.java:165)

         atcn.csdn.clb.changliaoba.service.TieziServiceImpl.findById(TieziServiceImpl.java:34)

         atcn.csdn.clb.changliaoba.junit.TieziTest.findById(TieziTest.java:38)

         atsun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

         atsun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

         atsun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

         atjava.lang.reflect.Method.invoke(Unknown Source)

         atorg.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)

         atorg.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)

         atorg.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)

         atorg.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)

         atorg.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)

         atorg.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)

         atorg.junit.runners.ParentRunner$3.run(ParentRunner.java:193)

         atorg.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)

         atorg.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)

         atorg.junit.runners.ParentRunner.access$000(ParentRunner.java:42)

         atorg.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)

         atorg.junit.runners.ParentRunner.run(ParentRunner.java:236)

         atorg.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)

         atorg.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)

         atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)

         atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)

         atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)

         atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

java.lang.NullPointerException

         atcn.csdn.clb.changliaoba.dao.TieziDaoImpl.findAll(TieziDaoImpl.java:125)

         atcn.csdn.clb.changliaoba.service.TieziServiceImpl.findAll(TieziServiceImpl.java:28)

         atcn.csdn.clb.changliaoba.junit.TieziTest.findAll(TieziTest.java:50)

         atsun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

         atsun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

         atsun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

         atjava.lang.reflect.Method.invoke(Unknown Source)

         atorg.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)

         atorg.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)

         atorg.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)

         atorg.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)

         atorg.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)

         atorg.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)

         atorg.junit.runners.ParentRunner$3.run(ParentRunner.java:193)

         atorg.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)

         atorg.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)

         atorg.junit.runners.ParentRunner.access$000(ParentRunner.java:42)

         atorg.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)

         atorg.junit.runners.ParentRunner.run(ParentRunner.java:236)

         atorg.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)

         atorg.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)

         atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)

         atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)

         atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)

         atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

记录更新失败

获取连接对象

conn = pstmt.getConnection();  改成   conn = JdbcUtil.getConn();

 

这个错误是数据库连接错误相信很多同学在插入向数据库中插入错误时,都会或多或少的出现这个问题,其实出现这个错误并不意味着你代码写的有问题,而是在你向这个表中插入数据时,外键关联的表中没有数据,所以解决方法很简单就是现在关联表中插入数据。

com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException:Cannot add or update a child row: a foreign key constraint fails(`changliaoba`.`baruser`, CONSTRAINT `baruser_ibfk_1` FOREIGN KEY (`barid`)REFERENCES `bar` (`id`))

    atsun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

    atsun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)

    atsun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

    at java.lang.reflect.Constructor.newInstance(UnknownSource)

    atcom.mysql.jdbc.Util.handleNewInstance(Util.java:411)

    atcom.mysql.jdbc.Util.getInstance(Util.java:386)

    atcom.mysql.jdbc.SQLError.createSQLException(SQLError.java:1039)

    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3597)

    atcom.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3529)

    atcom.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1990)

    atcom.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2151)

    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2625)

    atcom.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2119)

    atcom.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2415)

    atcom.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2333)

    atcom.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2318)

    atorg.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:102)

    atcn.csdn.clb.changliaoba.dao.BarUserDaoImpl.insert(BarUserDaoImpl.java:38)

    atcn.csdn.clb.changliaoba.service.BarUserServiceImpl.insert(BarUserServiceImpl.java:15)

    atcn.csdn.clb.changliaoba.junit.BarUserTest.insert(BarUserTest.java:26)

    atsun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    atsun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

    atsun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

    at java.lang.reflect.Method.invoke(UnknownSource)

    atorg.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)

    atorg.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)

    atorg.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)

    atorg.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)

    atorg.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)

    atorg.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)

    atorg.junit.runners.ParentRunner$3.run(ParentRunner.java:193)

    atorg.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)

    atorg.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)

    atorg.junit.runners.ParentRunner.access$000(ParentRunner.java:42)

    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)

    atorg.junit.runners.ParentRunner.run(ParentRunner.java:236)

    atorg.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)

    atorg.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)

    atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)

    atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)

    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)

    atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

 

 

空指针问题是最我们组在项目开发中经常遇到的问题,如下我们就出现了这种很简单的小问题,解决这种小问题就需要我们认真仔细的检查一下是不是拼写错误,因为拼写错误导致空指针的几率是最大的。

 

 

java.lang.NullPointerException

    at cn.csdn.clb.changliaoba.junit.BarUserTest.findById(BarUserTest.java:38)

    atsun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    atsun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

    atsun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

    at java.lang.reflect.Method.invoke(UnknownSource)

    atorg.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)

    atorg.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)

    at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)

    atorg.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)

    atorg.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)

    atorg.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)

    atorg.junit.runners.ParentRunner$3.run(ParentRunner.java:193)

    atorg.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)

    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)

    atorg.junit.runners.ParentRunner.access$000(ParentRunner.java:42)

    atorg.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)

    atorg.junit.runners.ParentRunner.run(ParentRunner.java:236)

    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)

    atorg.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)

    atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)

    atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)

    atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)

    atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

 

 

下面这种错误,如果你在启动tomcat未完成时,就又重启了,就很容易造成这种问题了,所以很简单重新启动一下tomcat吧~

Èý

¾¯¸æ:Error during context [/CLB] restart

org.apache.catalina.LifecycleException:Failed to start component[StandardEngine[Catalina].StandardHost[localhost].StandardContext[/CLB]]

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

    atorg.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:1279)

    atorg.apache.catalina.startup.HostConfig.check(HostConfig.java:1367)

    atorg.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:294)

    atorg.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)

    atorg.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)

    atorg.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1242)

    atorg.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1400)

    atorg.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1410)

    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1389)

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

Causedby: java.lang.NoClassDefFoundError: javax/faces/webapp/FacesServlet

    atcom.sun.faces.config.FacesInitializer.<clinit>(FacesInitializer.java:103)

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

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

    atorg.apache.catalina.startup.ContextConfig.getServletContainerInitializer(ContextConfig.java:1543)

    at org.apache.catalina.startup.ContextConfig.processServletContainerInitializers(ContextConfig.java:1466)

    atorg.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1285)

    atorg.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:896)

    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:322)

    atorg.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)

    atorg.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)

    atorg.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5103)

    atorg.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:148)

    ... 10 more

Causedby: java.lang.ClassNotFoundException: javax.faces.webapp.FacesServlet

    atorg.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678)

    atorg.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523)

    ... 22 more

j

 

错误比较简单,仅供初学者参考。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值