SEVERE: Failed to initialize end point associated with ProtocolHandler ["http-bio-8080"]
java.net.BindException: Address already in use :8080
**8080端口已被其他進程佔用**,Tomcat無法綁定。
# Windows
netstat -ano | findstr :8080
# 記下 PID,再用 tasklist | findstr 查看進程名
# Linux/macOS
lsof -i :8080
# 或
netstat -tlnp | grep :8080
| 常見進程 | 處理建議 |
|---|---|
| 另一個Tomcat實例 | 關閉舊實例,或修改端口 |
| Oracle XE / SQL Server | 修改數據庫HTTP端口 |
| Node.js / Python 開發服務器 | 停止開發服務器 |
| 系統服務 (PID 4) | 禁用HTTP.sys: `net stop http` / 註冊表修改 |
# 方案A:殺掉佔用進程(臨時)
taskkill /PID /F
# 方案B:修改Tomcat端口(持久,推薦)
# conf/server.xml
# 方案C:配置多實例(生產環境)
# 複製conf目錄,修改端口,啟動腳本指定catalina.base
`BindException: Address already in use` 經典端口衝突。**先查佔用、再定性、後決策**。開發環境改端口最快,生產環境請規劃端口策略並容器化隔離。