配置应用程序监听器[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)


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部