Ojdbc8 jars 升级到 21.1.0.0 抛出 Nosuchmethod 异常 UCPservletContextListener init

问题描述

Ojdbc8,ons,ucp jars 升级到 21.1.0.0 版本。尝试在 tomcat 服务器上启动应用程序时,它抛出 Nosuchmethod 异常。登录Tomcat的localhost.log文件。应用程序在启动期间尝试建立数据库连接。

01-Jun-2021 15:59:56.641 INFO [localhost-startStop-1] org.apache.catalina.core.ApplicationContext.log 在类路径上检测到 3 个 Spring WebApplication Initializers 01-Jun-2021 16:00:05.365 INFO localhost-startStop-1 org.apache.catalina.core.ApplicationContext.log 初始化 Spring 嵌入式 WebApplicationContext 01-Jun-2021 16:00:19.397 SEVERE localhost-startStop-1 org.apache.catalina.core.StandardContext.listenerStart 配置类 [oracle.ucp.jdbc.UCPservletcontextlistener] 的应用程序侦听器时出错 java.lang.NoSuchMethodException: oracle.ucp.jdbc.UCPservletcontextlistener.initjava.lang.class.getConstructor(UnkNown Source)

解决方法

这是 21.1 中 ucp.jar 的一个已知问题。它将在 21.3 发布时修复。同时,您可以从 ucp.jar 中删除此类:

  oracle/ucp/jdbc/UCPServletContextListener.class