Maven compilation and run time error java.lang.AbstractMethodError: oracle.jdbc.driver.T4CConnection.isValid(I)Z on Tomcat 8 Server
Maven compilation and run time error java.lang.AbstractMethodError: oracle.jdbc.driver.T4CConnection.isValid(I)Z on Tomcat 8 Server
我一直在将大型 Java Web 应用程序转换为 Maven 项目,但我 运行 在少数 classes 中出现错误,这些错误源自 tomcat-dbcp 罐子。我从任何需要使用 BasicDataSource 对象的 class 收到以下错误消息:
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>
但我们在某个时候恢复了原样,并且工作正常。
我一直在将大型 Java Web 应用程序转换为 Maven 项目,但我 运行 在少数 classes 中出现错误,这些错误源自 tomcat-dbcp 罐子。我从任何需要使用 BasicDataSource 对象的 class 收到以下错误消息:
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>
但我们在某个时候恢复了原样,并且工作正常。