Tomcat 在完成 Spring 引导应用程序时抛出异常

Tomcat throws an exception when finishing a Spring Boot application

有时 Tomcat 已经 运行 一段时间,我终止嵌入的 Tomcat (Ctrl+c) 应用程序抛出以下异常:

2019-10-17 10:23:10.704 INFO 20020 --- [ Thread-3] o.s.b.f.support.DisposableBeanAdapter : Invocation of destroy method failed on bean with name 'entityManagerFactory': java.lang.BootstrapMethodError: java.lang.NoClassDefFoundError: org/springframework/orm/hibernate5/SpringBeanContainer$SpringContainedBean Exception in thread "Thread-3" java.lang.NoClassDefFoundError: org/apache/catalina/Lifecycle$SingleUse at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:269) at org.apache.catalina.startup.Tomcat.stop(Tomcat.java:466) at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.stopTomcat(TomcatWebServer.java:254) at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.stop(TomcatWebServer.java:309) at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.stopAndReleaseWebServer(ServletWebServerApplicationContext.java:305) at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onClose(ServletWebServerApplicationContext.java:171) at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1032) at org.springframework.context.support.AbstractApplicationContext.run(AbstractApplicationContext.java:945)

好像是Tomcat已经运行好久了,我的应用没有被使用过

我检查了我的应用程序 jar 文件,spring-orm-5.1.8.RELEASE.jar 已嵌入并且 class org/springframework/orm/hibernate5/SpringBeanContainer 在那里。

欢迎任何想法。

尝试在替换或重命名 jar 之前关闭应用程序。

@见