我們正在為我們的應(yīng)用程序使用 Tomcat8(準(zhǔn)確地說(shuō)是 Tomcat 8.0.30)和 Java8。帶有 ojdbc7 數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序以及所有其他 jar 包,例如 ucp.jar 和 ons.jar 等,帶有 Oracle 數(shù)據(jù)庫(kù) 11g。如果我在我的 Java 應(yīng)用程序(即 Tomcat 中)上啟用“verbose:class”,它會(huì)顯示從 ojdbc.jar 和 ucp.jar 文件加載的所有類(lèi)?,F(xiàn)在我們已將數(shù)據(jù)庫(kù)升級(jí)到 12c,因此我們將數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序升級(jí)到 12.2 ojdbc8.jar。我替換了所有 jars(ojdbc、ucp、ons),但是 Tomcat 抱怨并給出錯(cuò)誤 NoClassDefFound 異常。當(dāng)我使用相同的詳細(xì) 'verbose:class' 選項(xiàng)時(shí),我看不到從 ojdbc8.jar 加載的類(lèi)。(來(lái)自 ucp.jar 的類(lèi)確實(shí)被加載了)。jar 文件就在 $CATALINA_HOME/lib 位置。但不確定為什么 ojdbc8.jar 沒(méi)有被加載。感謝您對(duì)解決此問(wèn)題的任何幫助。
1 回答

胡子哥哥
TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超6個(gè)贊
我想收回這個(gè)問(wèn)題。似乎 ojdbc7.jar 的某個(gè)地方是在 tomcat 下硬編碼的。因?yàn)楫?dāng)我將 ojdbc8.jar 重命名為 ojdbc7.jar 時(shí),它就可以工作了。所以它必須在某處進(jìn)行硬編碼。我還沒(méi)有找到,但我會(huì)的。它不是 catalina.properties。
添加回答
舉報(bào)
0/150
提交
取消