运维部署
Spring Boot启动失败:端口占用与IDEA资源缺失
Spring Boot启动失败时,先排查端口占用(netstat+taskkill),再检查IDEA的.iml输出路径是否导致资源文件缺失。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI B 56/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 88/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 98/100 ×0.15
适用场景
ERRORAPPLICATION FAILED TO STARTport already in usespring.factories not foundIDEA编译与Maven不一致iml output path
解决思路
- 用 netstat -ano | findstr <端口号> 找到占用端口的 PID
- 用 taskkill /F /PID <pid> 杀掉占用进程,再重启应用
- 若应用启动后报配置/自动装配类错误(如 spring.factories 未生效),对比 Maven 打的 jar 与 IDEA 的 target/classes 目录,确认资源文件是否缺失
- 检查 .iml 文件中 resource root 和 output path 配置,IDEA 可能将输出路径算错导致 resources 未拷贝到 target/classes
- 用 Maven 命令行 mvn package 验证 jar 内是否包含 META-INF/spring.factories,确认是 IDEA 配置问题而非代码问题
适用边界 · 注意事项
- 如果端口被系统服务或其他关键进程占用,不要盲目 taskkill,先确认进程身份
- IDEA 的 .iml 问题仅影响本地开发调试,CI/CD 环境用 Maven 构建不受影响,不要误判为代码 bug
- taskkill 在 Windows 下有效,Linux/macOS 需用 kill -9 <pid>