解决Unable to open debugger port错误

Posted by Night Field's Blog on January 3, 2020

原因

IntelliJ Debug模式下,启动Tomcat报错Unable to open debugger port Error

可能的原因有二:

  1. 目标端口被占用
  2. 文件权限不足

解决

目标端口占用

这种情况比较常见。Tomcat启动需要监听一个端口,如果此端口正好被别的程序占用了,就会报这个错。有两个办法可以解决问题:

1. 调整端口:

Run/Debug Configuration -> Tomcat Server -> Startup/Connection -> Debug -> Port

按上述步骤找到Debug的端口,将之改成其他端口即可 Error

2. 关闭占用端口程序。各OS都有自己查看端口占用进程的方式,kill掉目标程序即可。

文件权限不足

如果第一种方法不起作用,那很可能是由于文件操作权限不足导致的,多见于Mac或者Ubuntu用户。 一般这种情况IntellijEvent Log还会报类似的错

Cannot run program “/software/tomcat8_1/bin/catalina.sh” (in directory “/software/tomcat8_1/bin”): error=13, Permission denied

说明是当前用户没有操作Tomcat的权限。要启动tomcat,至少需要执行权限,即x的权限。所以对于这种情况,给Tomcatbin目录下文件加执行权限即可:

1
chmod a+x /software/tomcat8_1/bin/*