啟動 Tomcat 7/8 時,日誌顯示端口衝突,更換端口後仍報同錯誤。netstat -ano 顯示該端口實際未被佔用。
Tomcat 7/8 使用 **APR/native 库**(tcnative-1.dll)透過 JNI 建立 ServerSocket。若此 DLL 載入失敗(權限不足、版本不匹配、被殺毒軟體攔截),JNI 回傳錯誤,Tomcat 將其解釋為「端口建立失敗」並拋出 BindException。
bin/tcnative-1.dll 及 bin/*.dll 有讀取/執行權限。C:\Windows\System32 存在同名舊版 DLL,Tomcat 可能優先載入導致不相容。將 Tomcat bin 目錄加入 PATH 最前端,或刪除 System32 中的多餘 DLL。server.xml,將 註釋掉,強制使用純 Java NIO 端點。啟動後日誌出現 INFO: Loaded APR based Apache Tomcat Native library 表示原生庫載入成功;若見 WARN: Failed to load native library 則為此問題。