springBoot项目本地运行成功,但是打WAR包部署到tomcat启动失败。(springboot和tomcat的版本对应关系)

  题记:从去年11月决定开始写博客去记录工作中难搞的bug以及空闲时间学习的成果,回头一看才写了两篇(最近的还是1月份的,汗颜~~~)。最近接手一个公司的小项目,由我带着组内两个人一起去完成,这段时间化身为需求,项目,开发带着两人一起做项目属实是精疲力尽无力更新;

  直奔主题喽:下面是异常报错:

 java.lang.IllegalStateException: Illegal access: this web application instance has been stopped already. Could not load [ch.qos.logback.core.status.WarnStatus]. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access.
                at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading(WebappClassLoaderBase.java:1380)
                at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForClassLoading(WebappClassLoaderBase.java:1368)
                at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1220)
                at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1182)
                at ch.qos.logback.classic.LoggerContext.noAppenderDefinedWarning(LoggerContext.java:186)
                at ch.qos.logback.classic.Logger.callAppenders(Logger.java:264)
                at ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:421)
                at ch.qos.logback.classic.Logger.filterAndLog_0_Or3Plus(Logger.java:383)
                at ch.qos.logback.classic.Logger.debug(Logger.java:482)
                at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:612)
Exception in thread "MyScheduler_Worker-2" java.lang.NoClassDefFoundError: ch/qos/logback/core/status/WarnStatus
        at ch.qos.logback.classic.LoggerContext.noAppenderDefinedWarning(LoggerContext.java:186)
        at ch.qos.logback.classic.Logger.callAppenders(Logger.java:264)
        at ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:421)
        at ch.qos.logback.classic.Logger.filterAndLog_0_Or3Plus(Logger.java:383)
        at ch.qos.logback.classic.Logger.debug(Logger.java:482)
        at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:612)
Caused by: java.lang.ClassNotFoundException: Illegal access: this web application instance has been stopped already. Could not load [ch.qos.logback.core.status.WarnStatus]. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access.
        at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForClassLoading(WebappClassLoaderBase.java:1370)
        at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1220)
        at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1182)
        ... 6 more
Caused by: java.lang.IllegalStateException: Illegal access: this web application instance has been stopped already. Could not load [ch.qos.logback.core.status.WarnStatus]. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access.
        at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading(WebappClassLoaderBase.java:1380)
        at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForClassLoading(WebappClassLoaderBase.java:1368)
        ... 8 more
30-Mar-2023 20:40:03.418 INFO [mysql-cj-abandoned-connection-cleanup] org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading Illegal access: this web application instance has been stopped already. Could not load []. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access.
        java.lang.IllegalStateException: Illegal access: this web application instance has been stopped already. Could not load []. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access.
                at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading(WebappClassLoaderBase.java:1380)
                at org.apache.catalina.loader.WebappClassLoaderBase.getResource(WebappClassLoaderBase.java:1032)
                at com.mysql.cj.jdbc.AbandonedConnectionCleanupThread.checkThreadContextClassLoader(AbandonedConnectionCleanupThread.java:123)
                at com.mysql.cj.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:90)
                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
                at java.lang.Thread.run(Thread.java:748)
Exception in thread "Quartz Scheduler [MyScheduler]" org.springframework.scheduling.SchedulingException: Could not start Quartz Scheduler after delay; nested exception is org.quartz.SchedulerException: The Scheduler cannot be restarted after shutdown() has been called.
        at org.springframework.scheduling.quartz.SchedulerFactoryBean$1.run(SchedulerFactoryBean.java:756)
Caused by: org.quartz.SchedulerException: The Scheduler cannot be restarted after shutdown() has been called.
        at org.quartz.core.QuartzScheduler.start(QuartzScheduler.java:529)
        at org.quartz.impl.StdScheduler.start(StdScheduler.java:142)
        at org.springframework.scheduling.quartz.SchedulerFactoryBean$1.run(SchedulerFactoryBean.java:753)

  这是一次部署到tomcat的报错原因,看见Bean启动异常以及没找到类第一反应是打包有问题,所以检查了是否有类文件重新打包了好几次上传,但是启动还是报错。于是就开启了百度之旅,咋百度的就不说了,大多是说打包没有去排除springboot的内置tomcat,但是我是排除了的。找了一大圈没结果。最后就问了我们的老大,老大研究了一下没结果让我直接打jar部署算了。

  就在我准备放弃打jar时,突然想到之前玩vue的时候的版本冲突,灵机一动感觉可能是版本冲突问题,于是百度了tomcat和springboot项目的对应版本关系,升级到了tomcat9于是问题迎刃而解;

  下面是常见的关系:更多去官网了解

  • Spring Boot 2.5.x:适用于Tomcat 9.0.x
  • Spring Boot 2.4.x:适用于Tomcat 9.0.x
  • Spring Boot 2.3.x:适用于Tomcat 9.0.x
  • Spring Boot 2.2.x:适用于Tomcat 9.0.x
  • Spring Boot 2.1.x:适用于Tomcat 9.0.x
  • Spring Boot 2.0.x:适用于Tomcat 8.5.x
  • Spring Boot 1.5.x:适用于Tomcat 8.0.x 或 Tomcat 7.0.x
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值