我一直在将大型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>
但是我仍然看到此错误。我该怎么做才能消除此错误?
这个错误确实消失了,尽管我不知道为什么。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>
但是我们在某个时候恢复了,现在一切正常。