猿问

ojdbc8 jar 未在 Tomcat8 中加载

我们正在为我们的应用程序使用 Tomcat8(准确地说是 Tomcat 8.0.30)和 Java8。带有 ojdbc7 数据库驱动程序以及所有其他 jar 包,例如 ucp.jar 和 ons.jar 等,带有 Oracle 数据库 11g。如果我在我的 Java 应用程序(即 Tomcat 中)上启用“verbose:class”,它会显示从 ojdbc.jar 和 ucp.jar 文件加载的所有类。

现在我们已将数据库升级到 12c,因此我们将数据库驱动程序升级到 12.2 ojdbc8.jar。我替换了所有 jars(ojdbc、ucp、ons),但是 Tomcat 抱怨并给出错误 NoClassDefFound 异常。当我使用相同的详细 'verbose:class' 选项时,我看不到从 ojdbc8.jar 加载的类。(来自 ucp.jar 的类确实被加载了)。jar 文件就在 $CATALINA_HOME/lib 位置。但不确定为什么 ojdbc8.jar 没有被加载。

感谢您对解决此问题的任何帮助。


猛跑小猪
浏览 310回答 1
1回答

胡子哥哥

我想收回这个问题。似乎 ojdbc7.jar 的某个地方是在 tomcat 下硬编码的。因为当我将 ojdbc8.jar 重命名为 ojdbc7.jar 时,它就可以工作了。所以它必须在某处进行硬编码。我还没有找到,但我会的。它不是 catalina.properties。
随时随地看视频慕课网APP

相关分类

Java
我要回答