tomcat7.0部署应用出现org.apache.tomcat.dbcp.dbcp.SQLNestedException

崆白zkongbai 2014-11-27 10:55:11
Tomcat部署出现这问题,如何解决
首先,说明下:这个项目直接用eclipse可以直接运行,数据源用plsql连接可以连接的上
其次:不管我将oracle里面.jdcb里面的驱动jar放置在tomcat/lib下,还是不放置,都是这个问题
再次:tomcat使用的是7.0


严重: Exception sending context initialized event to listener instance of class com.funo.listener.SpringContextLoader
org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class 'oracle.jdbc.driver.OracleDriver' for connect URL 'jdbc:orajdbc:oracle:thin:@(DESCRIPTION =(ADDRESS=(PROTOCOL=TCP)(HOST=10.46.51.200)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=10.46.5.202)(PORT=1521))(LOAD_BALANCE=yes)(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=msydb)(FAILOVER_MODE=(TYPE=session)(METHOD=basic)(RETRIES=180)(DELAY=5))))'
at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:82)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:382)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:458)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:466)
at org.springframework.jdbc.core.JdbcTemplate.queryForList(JdbcTemplate.java:497)
at com.funo.dao.LoginDao.findAllComId(LoginDao.java:57)
at com.funo.service.LoginService.findAllComId(LoginService.java:196)
at com.funo.service.LoginService$$FastClassByCGLIB$$5807bf6.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:191)
at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:700)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:635)
at com.funo.service.LoginService$$EnhancerByCGLIB$$8099c36a.findAllComId(<generated>)
at com.funo.util.SysConstants.init(SysConstants.java:189)
at com.funo.listener.SpringContextLoader.contextInitialized(SpringContextLoader.java:31)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4992)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5490)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:649)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1247)
at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1898)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
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: org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class 'oracle.jdbc.driver.OracleDriver' for connect URL 'jdbc:orajdbc:oracle:thin:@(DESCRIPTION =(ADDRESS=(PROTOCOL=TCP)(HOST=10.46.51.200)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=10.46.5.202)(PORT=1521))(LOAD_BALANCE=yes)(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=msydb)(FAILOVER_MODE=(TYPE=session)(METHOD=basic)(RETRIES=180)(DELAY=5))))'
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1452)
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1371)
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:113)
at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:79)
... 30 more
Caused by: java.sql.SQLException: No suitable driver
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1443)
... 34 more
2014-11-27 10:38:52 org.apache.catalina.core.ApplicationContext log
信息: Closing Spring root WebApplicationContext
2014-11-27 10:38:52 org.apache.catalina.core.ApplicationContext log
信息: Shutting down log4j




信息: Starting service Catalina
2014-11-27 10:38:38 org.apache.catalina.core.StandardEngine startInternal
信息: Starting Servlet Engine: Apache Tomcat/7.0.55
2014-11-27 10:38:38 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory C:\Program Files\tomcat\apache-tomcat-7.0.55\webapps\IFP
2014-11-27 10:38:39 org.apache.catalina.loader.WebappClassLoader validateJarFile
信息: validateJarFile(C:\Program Files\tomcat\apache-tomcat-7.0.55\webapps\IFP\WEB-INF\lib\servlet-api.jar) - jar not loaded. See Servlet Spec 3.0, section 10.7.2. Offending class: javax/servlet/Servlet.class
2014-11-27 10:38:49 org.apache.tomcat.websocket.server.WsSci onStartup
信息: JSR 356 WebSocket (Java WebSocket 1.0) support is not available when running on Java 6. To suppress this message, run Tomcat on Java 7, remove the WebSocket JARs from $CATALINA_HOME/lib or add the WebSocket JARs to the tomcat.util.scan.DefaultJarScanner.jarsToSkip property in $CATALINA_BASE/conf/catalina.properties. Note that the deprecated Tomcat 7 WebSocket API will be available.
2014-11-27 10:38:52 org.apache.catalina.core.StandardContext startInternal
严重: Error listenerStart
2014-11-27 10:38:52 org.apache.catalina.core.StandardContext startInternal
严重: Context [/IFP] startup failed due to previous errors
2014-11-27 10:38:52 org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
严重: The web application [/IFP] registered the JDBC driver [oracle.jdbc.driver.OracleDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
...全文
1611 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Lcloveqry1992 2016-10-09
  • 打赏
  • 举报
回复
jdbc.driver=oracle.jdbc.driver.OracleDriver jdbc.url=jdbc:oracle:thin:@172.16.1.6:1521:orcl jdbc.userName=wanda jdbc.password=wanda
姜小白- 2014-11-28
  • 打赏
  • 举报
回复
如果使用的是tomcat数据库连接池配置,那么jdbc驱动要放到tomcat的lib目录下面 如果是单从工程中去连接数据源,那么驱动jar放到工程的WEB-INF/lib下面就可以了 楼主的数据库连接采用的是什么方式呢?可否给一些配置文件或代码出来看看
听风语 2014-11-28
  • 打赏
  • 举报
回复
Oracle我到还没用过。我用的是mysql。我想问的是生产环境和开发环境是同一台机器吗?帐号的权限对不对,密码对不对

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧