配置应用程序监听器[oracle.ucp.jdbc.UCPServletContextListener]错误
记一个困扰了我半天的问题
程序版本:
spring boot 2.5.6、tomcat 9
问题描述:项目打成war包,最开始是放到tomcat8中运行,一直报modoule-info.class找不到,然后发现spring boot2.5.6 tomcat版本要求是9。放到tomcat9中,没这个问题了,又有新的问题,配置应用程序监听器[oracle.ucp.jdbc.UCPServletContextListener]错误,访问接口一直报404,奇怪的是用java -jar启动又能正常访问,要部署到服务器上又要求tomcat内部署(客户的服务器java -jar的方式启动不了,缺失很多api-mc...dll文件),心态都蹦了,后来查到原因是
我用的是ojdbc6的驱动,ucp.jar版本就是21.1,更换成ojdbc8后问题解决。
现在我也没明白这是什么原理!!!为什么jar包启动能正常,tomcat部署就不行,jar包启动不也是内置了一个tomcat吗
错误内容:
07-Jan-2022 11:46:20.655 严重 [main] org.apache.catalina.core.StandardContext.listenerStart 配置应用程序监听器[oracle.ucp.jdbc.UCPServletContextListener]错误
java.lang.NoSuchMethodException: oracle.ucp.jdbc.UCPServletContextListener.
at java.lang.Class.getConstructor0(Class.java:3082)
at java.lang.Class.getConstructor(Class.java:1825)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:150)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4691)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5230)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:698)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:696)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1024)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1911)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112)
at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:825)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:475)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1618)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:319)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423)
at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:946)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
