一尘不染

Maven编译和运行时错误java.lang.AbstractMethodError:Tomcat 8 Server上的oracle.jdbc.driver.T4CConnection.isValid(I)Z

tomcat

我一直在将大型Java Web App转换为maven项目,但是在少数来自tomcat-dbcp
jar的类中遇到了错误。我从需要使用BasicDataSource对象的任何类中获得以下错误消息:

javax.servlet.ServletException: java.lang.AbstractMethodError: oracle.jdbc.driver.T4CConnection.isValid(I)Z
java.lang.AbstractMethodError: oracle.jdbc.driver.T4CConnection.isValid(I)Z

现在,我知道该jar存在于服务器上(因为它是我们Tomcat8安装中的默认值)。所以在Maven中我这样声明了这种依赖关系:

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

但是我仍然看到此错误。我该怎么做才能消除此错误?


阅读 1192

收藏
2020-06-16

共1个答案

一尘不染

这个错误确实消失了,尽管我不知道为什么。pom条目仍然相同,并且仍在Tomcat 8上运行。我们确实找到了一个hacky临时修复程序:

<dependency>
    <groupId>com.oracle</groupId>
    <artifactId>ojdbc7</artifactId>
    <version>12.1.0.1</version>
    <scope>system</scope>
    <systemPath>${basedir}/lib/ojdbc7-12.1.0.1.jar</systemPath>
</dependency>

但是我们在某个时候恢复了,现在一切正常。

2020-06-16