繁体   English   中英

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

[英]Ojdbc8 jars upgrade to 21.1.0.0 throws Nosuchmethod exception 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 在 classpath 上检测到 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.init at java.lang.class.getConstructor(Unknown Source)

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

  oracle/ucp/jdbc/UCPServletContextListener.class

根据我的经验,如果你将 jdbc/ucp jars 放到 Tomcat 的 lib(推荐用于生产系统)并在 Maven 中为它们设置provided范围,问题就会消失。

另一种选择可能是在web.xml 中设置metadata-complete="true"在此处此处阅读更多信息

如果您使用的是弹簧靴,那么您可以使用

   <dependency>
      <groupId>com.oracle.ojdbc</groupId>
      <artifactId>ojdbc8</artifactId>    
      <version>19.3.0.0</version>      
  </dependency>

此依赖项或更新您的 Maven 项目。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM