我在 TomCat 9.0.56 上為必須連接到資料庫的類運行一個小型 Java 應用程式。我正在使用 jdbc (ojdbc8 - 19.3.0.0)。它作業正常,直到它開始顯示以下錯誤:
16-Jan-2022 21:03:42.631 SEVERE [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.core.StandardContext.listenerStart Error configuring application listener [oracle.ucp.jdbc.UCPServletContextListener] java.lang.NoSuchMethodException: oracle.ucp.jdbc.UCPServletContextListener.<init>()
我是 tomcat 的新手,我不知道如何解決這個問題。我已經重新安裝了所有東西,但它沒有再次作業。任何的想法?
IDE - IntelliJ 2021.2.3 JDK - 17.0.1
uj5u.com熱心網友回復:
我確信您必須使用 21.1 版本而不是 19.3 版本的 Oracle JDBC 和 UCP 二進制檔案。您可以使用以下命令檢查和驗證 ojdbc 和 ucp jar 版本:
java -jar ucp.jar
java -jar ojdbc8.jar
您上面描述的問題是 ucp 21.1 發行版 jar 的已知問題。為了解決這個問題,您可以簡單地切換到 ucp/jdbc 21.3 版本。請確保將 ucp.jar 和 ojdbc8.jar 都升級到 21.3,而不僅僅是一個。此外,請確保從類路徑中洗掉所有重復的 jar(如果有)。這是同一問題的相關執行緒:
Ojdbc8 jars upgrade to 21.1.0.0 throws Nosuchmethod exception UCPservletContextListener init
uj5u.com熱心網友回復:
奇怪的是,卸載和洗掉以前使用的所有 tomcat 版本并安裝新版本并設定新配置會使錯誤停止發生,并且應用程式再次運行良好。
我之前做過這個沒有結果,但這次它確實奏效了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/419620.html
標籤:
