启动SpringBoot报错:failed to start bean ‘webserverstartstop‘; nested exception is org.springframework.

在学习SpringBoot时遇到启动失败的问题,原因是8080端口已被占用。通过Win+R打开命令行,使用netstat-ano命令找到占用8080端口的PID,然后使用taskkill命令杀死对应进程,成功释放端口。重新启动SpringBoot项目后,问题得到解决,页面正常显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

启动SpringBoot报错


今天在学习SpringBoot的时候,修改一些配置之后再次启动项目后,出现了下面这个错误

failed to start bean 'webserverstartstop'; 
nested exception is org.springframework.boot.web.server.portinuseexception:
port 8080 is already in use 2022-05-09 15:48:08.718 info 5692 --- [ main] 
o.apache.catalina.core.standardservice : stopping service [tomcat]

错误的原因很明显,8080端口被占用,那就来按照下面的步骤来解决这个问题。

1、win+R 输入cmd
在这里插入图片描述
2、命令行中输入 如下指令,查看所有端口和PID

netstat -ano

找到端口号为8080对应的PID 我这里找到的8080对应的PID号为15964为如下图所示
在这里插入图片描述
3、输入下面指令,杀死8080这个进程

taskkill -PID 15964 -f

在这里插入图片描述
4、重新启动springboot项目,显示成功
在这里插入图片描述
静态资源页面也能显示成功
在这里插入图片描述
至此,这个问题已经全部解决完毕。

### ThingsBoard在Linux环境下Tomcat服务器无法启动的原因分析与解决方案 当遇到`failed to start bean webServerStartStop`错误时,通常表明Spring Boot应用程序中的嵌入式Tomcat服务器未能成功初始化。以下是可能原因及其对应的解决方案: #### 1. 配置文件问题 如果配置文件中存在语法错误或路径不正确,可能导致Tomcat无法正常加载资源。例如,在`application.properties`或`application.yml`中定义的端口被占用或其他参数设置不当。 ```properties server.port=8080 spring.datasource.url=jdbc:mysql://localhost:3306/thingsboard?useSSL=false&serverTimezone=UTC spring.datasource.username=root spring.datasource.password=password ``` 确保上述属性已正确定义并指向有效的数据库实例[^1]。此外,还需确认是否存在其他进程占用了指定端口。 #### 2. 资源未找到异常(ResourceNotFoundException) 类似于Velocity模板引擎抛出的`ResourceNotFoundException`,这可能是由于某些视图文件缺失或者类路径下找不到所需的静态资源所致。对于ThingsBoard而言,需验证项目构建过程中是否遗漏了必要的前端资产文件。 ```bash ls -l /path/to/thingsboard/web/templates/ ``` 通过执行以上命令检查是否有`.vm`类型的模板文件存在于预期目录内。如果没有,则重新编译整个工程或将预打包好的war包部署至目标环境[^2]。 #### 3. Consul集成失败(Fail Fast机制触发) 假如应用依赖于外部服务注册中心(如Consul),而后者尚未准备好接受请求,“快速失败”策略会阻止进一步操作直至基础架构完全可用为止。“Fail fast is set...”日志即为此种情况下的典型表现形式之一[^3]。 调整相关选项允许程序继续运行即便部分组件暂时不可达: ```java @Configuration public class AppConfig { @Bean public HealthIndicator consulHealthIndicator() { return new AbstractHealthIndicator() { @Override protected void doHealthCheck(Builder builder) throws Exception { // 自定义健康状态逻辑 builder.up(); } }; } } ``` #### 4. 安全脚本特性(Secure Scripting Feature) 最新版本引入的安全脚本功能或许也会影响默认行为模式。查阅官方文档了解如何适配新变化以便充分利用新增加的功能集而不破坏现有流程[^4]: ```javascript // Example of secured script execution within ThingsBoard context. function process(data) { return data.map(item => item.value * 2); } ``` --- ### 总结 综合考虑以上几点因素逐一排查定位根本诱因之后采取相应措施修复即可恢复正常的业务运作能力。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值