原因
IntelliJ Debug模式下,啓動Tomcat報錯Unable to open debugger port
可能的原因有二:
- 目標端口被佔用
- 文件權限不足
解決
目標端口占用
這種情況比較常見。Tomcat啓動需要監聽一個端口,如果此端口正好被別的程序佔用了,就會報這個錯。有兩個辦法可以解決問題:
1. 調整端口:
Run/Debug Configuration -> Tomcat Server -> Startup/Connection -> Debug -> Port
2. 關閉佔用端口程序。各OS都有自己查看端口占用進程的方式,kill掉目標程序即可。
文件權限不足
如果第一種方法不起作用,那很可能是由於文件操作權限不足導致的,多見於Mac或者Ubuntu用戶。
一般這種情況Intellij的Event Log還會報類似的錯
Cannot run program “/software/tomcat8_1/bin/catalina.sh” (in directory “/software/tomcat8_1/bin”): error=13, Permission denied
說明是當前用戶沒有操作Tomcat的權限。要啓動tomcat,至少需要執行權限,即x的權限。所以對於這種情況,給Tomcat的bin目錄下文件加執行權限即可:
chmod a+x /software/tomcat8_1/bin/*