IDEA中SpringBoot工程运行报Tomcat启动异常(org.apache.catalina.LifecycleException)问题解决

简介: IDEA中SpringBoot工程运行报Tomcat启动异常(org.apache.catalina.LifecycleException)问题解决

首先上异常内容:


30-Nov-2021 20:28:15.419 严重 [RMI TCP Connection(2)-127.0.0.1] org.apache.catalina.core.ContainerBase.removeChild ContainerBase.removeChild: destroy:

org.apache.catalina.LifecycleException: An invalid Lifecycle transition was attempted ([before_destroy]) for component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/AMRS_war]] in state [STARTED]

at org.apache.catalina.util.LifecycleBase.invalidTransition(LifecycleBase.java:402)

at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:292)

at org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:856)

at org.apache.catalina.startup.HostConfig.unmanageApp(HostConfig.java:1762)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300)

at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)

at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)

at org.apache.catalina.mbeans.MBeanFactory.removeContext(MBeanFactory.java:781)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300)

at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)

at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)

at com.sun.jmx.remote.security.MBeanServerAccessController.invoke(MBeanServerAccessController.java:468)

at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionIm


可以发现其中重要的也就: org.apache.catalina.LifecycleException: An invalid Lifecycle transition was attempted ([before_destroy]) for component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/AMRS_war]] in state [STARTED]


这表示程序运行中配置的tomcat是在启动状态,被占用无法启动了。这个问题怎么解决呢?毕竟不是代码逻辑上的问题,不是去调整代码就能解决的。


首先,我遇到过很多次这样的问题,以前每次出现就再才运行程序,也就是restart一下,然后基本就能正常运行了。


这次我不停重启,重启软件也都不行。后来发现是打开多个工程(备份的)配置的同一个tomcat,所以这又要怎么解决呢?


解决:


1、如果只有一个工程调试运行中出现tomcat启动异常的问题,可以尝试再重新运行一下;


2、如果有多个工程配置的同一个tomcat,并且生成的war包共用一个名称和目录,那么就需要给其他的工程重新配置tomcat了。


从下载tomcat和工程中配置tomcat均可参考以下博客,这里就不详述,基本配置完后就都能正常运行了。

使用IntelliJ IDEA配置Tomcat(详细操作) - 西楼谢俞 - 博客园

目录
打赏
0
0
0
0
3
分享
相关文章
|
5月前
|
使用IDEA创建项目运行我的第一个JAVA文件输出Helloword
本文介绍了如何使用IDEA(IntelliJ IDEA)创建一个新的Java项目,并运行一个简单的Java程序输出"Hello Word"。文章详细展示了创建项目的步骤,包括选择JDK版本、设置项目名称和路径、创建包和类,以及编写和运行代码。最后,还展示了如何通过IDEA的运行功能来执行程序并查看输出结果。
257 4
使用IDEA创建项目运行我的第一个JAVA文件输出Helloword
SpringBoot工程打包部署
SpringBoot工程打包部署简介:SpringBoot项目可通过三种方式运行:可执行Jar包、可执行War包和标准War包。其中,可执行Jar/War包可独立运行,标准War包需部署在Tomcat中。具体步骤包括:1. 修改pom.xml添加构建依赖;2. 执行`mvn clean package`命令打包;3. 运行生成的Jar/War包(如`java -jar xxx.jar`)。对于标准War包,还需修改启动类并配置Tomcat依赖。
深入探讨了“dubbo+nacos+springboot3的native打包成功后运行出现异常”的原因及解决方案
本文深入探讨了“dubbo+nacos+springboot3的native打包成功后运行出现异常”的原因及解决方案。通过检查GraalVM版本兼容性、配置反射列表、使用代理类、检查配置文件、禁用不支持的功能、查看日志文件、使用GraalVM诊断工具和调整GraalVM配置等步骤,帮助开发者快速定位并解决问题,确保服务的正常运行。
92 1
springBoot:注解&封装类&异常类&登录实现类 (八)
本文介绍了Spring Boot项目中的一些关键代码片段,包括使用`@PathVariable`绑定路径参数、创建封装类Result和异常处理类GlobalException、定义常量接口Constants、自定义异常ServiceException以及实现用户登录功能。通过这些代码,展示了如何构建RESTful API,处理请求参数,统一返回结果格式,以及全局异常处理等核心功能。
SpringBoot项目使用yml文件链接数据库异常
【10月更文挑战第3天】Spring Boot项目中数据库连接问题可能源于配置错误或依赖缺失。YAML配置文件的格式不正确,如缩进错误,会导致解析失败;而数据库驱动不匹配、连接字符串或认证信息错误同样引发连接异常。解决方法包括检查并修正YAML格式,确认配置属性无误,以及添加正确的数据库驱动依赖。利用日志记录和异常信息分析可辅助问题排查。
603 10
idea+maven+tomcat+spring 创建一个jsp项目
这篇文章介绍了如何在IntelliJ IDEA中使用Maven和Tomcat创建一个JSP项目,包括配置Maven依赖、设置Tomcat服务器、编写JSP页面、创建控制器和配置文件,以及项目的运行结果。
297 0
idea+maven+tomcat+spring 创建一个jsp项目
SpringBoot项目使用yml文件链接数据库异常
【10月更文挑战第4天】本文分析了Spring Boot应用在连接数据库时可能遇到的问题及其解决方案。主要从四个方面探讨:配置文件格式错误、依赖缺失或版本不兼容、数据库服务问题、配置属性未正确注入。针对这些问题,提供了详细的检查方法和调试技巧,如检查YAML格式、验证依赖版本、确认数据库服务状态及用户权限,并通过日志和断点调试定位问题。
478 6
【规范】SpringBoot接口返回结果及异常统一处理,这样封装才优雅
本文详细介绍了如何在SpringBoot项目中统一处理接口返回结果及全局异常。首先,通过封装`ResponseResult`类,实现了接口返回结果的规范化,包括状态码、状态信息、返回信息和数据等字段,提供了多种成功和失败的返回方法。其次,利用`@RestControllerAdvice`和`@ExceptionHandler`注解配置全局异常处理,捕获并友好地处理各种异常信息。
2835 0
【规范】SpringBoot接口返回结果及异常统一处理,这样封装才优雅
Maven使用IDEA自带工具打包,同时将lib下的jar包打入,双击jar包可直接运行
使用IntelliJ IDEA的Artifacts功能,可以将项目依赖的第三方jar包打包进jar文件中,实现双击jar包即可直接运行。
Maven使用IDEA自带工具打包,同时将lib下的jar包打入,双击jar包可直接运行
idea中如何不重启tomcat 即可看到修改内容变化
这篇文章介绍了在IntelliJ IDEA中实现对Java Web应用的热部署(Hot Swap)的多种方法,包括启用自动构建、使用Exploded Artifact、安装JRebel插件、更改静态资源、使用Spring Boot的devtools以及IDEA的HotSwap功能,以便在不重启Tomcat服务器的情况下看到修改内容的变化。
idea中如何不重启tomcat 即可看到修改内容变化

推荐镜像

更多
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等