1

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

2021 年 6 月 1 日 15:59:56.641 信息 [localhost-startStop-1] org.apache.catalina.core.ApplicationContext.log 在类路径上检测到 3 个 Spring WebApplication 初始化程序 2021 年 6 月 1 日 16:00:05.365 信息 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(未知来源)

4

3 回答 3

2

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

  oracle/ucp/jdbc/UCPServletContextListener.class
于 2021-06-17T16:39:21.120 回答
1

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

另一个选项可能是metadata-complete="true"web.xml中设置(在此处此处阅读更多内容)

于 2021-08-24T11:54:23.490 回答
0

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

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

这个依赖或更新你的 Maven 项目。

于 2021-08-24T12:16:32.333 回答