Tomcat 8上的Maven BasicDataSource错误

时间:2015-10-02 20:56:37

标签: java maven tomcat

我们最近开始将大型Web应用程序转换为Maven,一切似乎都很好,但无论我们做什么,Maven都不会识别tomcat服务器上的tomcat-dbcp.jar文件。在我的依赖项中,我设置了以下内容:

<dependency>
    <groupId>org.apache.tomcat</groupId>
    <artifactId>tomcat-dbcp</artifactId>
    <version>8.0.26</version>
    <scope>provided</scope>
</dependency>

但我得到以下stacktrace:

Error:  javax.servlet.jsp.JspException: java.lang.AbstractMethodError: oracle.jdbc.driver.T4CConnection.isValid(I)Z
URI:    /as/CheckReport
Error Message:  oracle.jdbc.driver.T4CConnection.isValid(I)Z
Status code:    500

org.apache.tomcat.dbcp.dbcp2.DelegatingConnection.isValid(DelegatingConnection.java:913)

org.apache.tomcat.dbcp.dbcp2.PoolableConnection.validate(PoolableConnection.java:226)

org.apache.tomcat.dbcp.dbcp2.PoolableConnectionFactory.validateConnection(PoolableConnectionFactory.java:302)

org.apache.tomcat.dbcp.dbcp2.BasicDataSource.validateConnectionFactory(BasicDataSource.java:2208)

org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:2191)

org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:1945)

org.apache.tomcat.dbcp.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:1412)

com.networkfleet.sre.common.db.Resource.getDBConnectionDEV(Resource.java:75)

com.networkfleet.sre.app.checkreport.CheckReportSrv.doGet(CheckReportSrv.java:63)

javax.servlet.http.HttpServlet.service(HttpServlet.java:622)

javax.servlet.http.HttpServlet.service(HttpServlet.java:729)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)

org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)

org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:614)

org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)

org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)

org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:617)

org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)

org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)

org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)

org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668)

org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2463)

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

java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

java.lang.Thread.run(Thread.java:745)

我应该指出,在Maven之前这不是一个问题,我们还没有做出服务器方面的改变。

我目前正在使用odjbc7.jar驱动程序,它是最新的并且已通过Maven安装,在我的存储库中显示在正确的位置,并通过系统范围包含在应用程序本身中。这是在非maven构建中使用的相同驱动程序文件,此错误不会出现。

0 个答案:

没有答案