首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

解決 Unrecognized Windows Sockets error: 0: JVM_Bind 端口衝突異常

     編輯:Java 綜合教學

異常堆棧

java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bind

根本原因

目標端口(默認 8080)已被佔用,常見於:

  • 多個 Tomcat 實例同時啟動。
  • Tomcat 與數據庫(如 Oracle 1521、MySQL 3306)端口衝突。
  • 上次關閉未完全釋放,進程殘留。

解決方案

方案一:修改 Tomcat 端口(推薦)

  1. MyEclipse Servers 視圖右鍵 Tomcat → Configure Server Connector。
  2. 將 Port Number 從 8080 改為 8088(或其他空閒端口)。
  3. 重啟 Server。

方案二:殺掉佔用進程

  1. 右鍵「計算機」→ 管理 → 服務與應用程序 → 服務。
  2. 找到多餘的 Tomcat 服務 → 右鍵 停止。
  3. 或命令行:netstat -ano | findstr :8080 找 PID,taskkill /PID /F 強制結束。

預防建議

  • 開發環境統一規劃端口範圍(如 8080-8090 給 Tomcat,3306 給 MySQL)。
  • 使用 shutdown.sh/shutdown.bat 正規關閉,避免殘留進程。
  • Docker 容器化部署時通過 -p 映射固定宿主端口,隔離衝突。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved