原因:
1. 该服务的端口被占用了;
2. nacos没有打开;
3. 注入的类中,含有实体类,而该实体类没有使用@Component注解转换为Bean对象,如下图:
解决办法一:
修改配置文件中端口号。
解决办法二:
杀死占用端口的进程。打开命令窗口,输入如下命令。
netstat -ano | findstr 端口号
查找占用端口的进程信息:
netstat -ano | findstr 端口号
解决办法三:
若使用方法二杀不掉正在执行 java.exe 程序,则可以在命令框输入如下命令,查看占用端口的PID值是多少,如下图。
杀死进程:
tasklist | findstr PID值
打开任务管理器,点击“详情信息”,找到对应PID值的进程。右键点击,点击“结束任务”,即可,如下图。
解决办法四:
若项目配置了nacos,请打开nacos,nacos启动命令(在bin文件内使用命令)
startup.cmd -m standalone
解决办法五:
1.首先进入[cmd](https://so.csdn.net/so/search?q=cmd&spm=1001.2101.3001.7020),使用下方命令找到了80端口对应的PID
netstat -ano | findstr 80
2.当前80端口的PID为 4,然后使用下方命令查询对用PID的进程,发现被系统占用。
tasklist | findstr "4"
3.通过win+R,输入regedit打开注册表,依次打开HKEY_LOCAL_MACHINE--------------->SYSTEM-------->CurrentControlSet---->Services—>HTTP 在HTTP中有Start一项将其值修改为0(改成1,会蓝屏,需要按F8进入安全模式,改回来),然后重启电脑。
4.重启完成后,80端口不再被占用。SpringBoot项目启动成功。
解决办法六:
对启动类添加异常捕获,查看启动失败原因,如下图,对异常信息进行分析。