在 Debian 上给 Tomcat 开启远程调试,通常是通过 JPDA(Java Platform Debugger Architecture) 来实现的。下面按常见场景说明。
Tomcat 的 systemd 服务一般使用 /etc/default/tomcat9(或 tomcat8)。
sudo nano /etc/default/tomcat9
添加或修改以下内容:
JAVA_OPTS="${JAVA_OPTS} -agentlib:jdwp=transport=dt_socket,address=*:5005,server=y,suspend=n"
说明:
address=*:5005:监听所有网卡(远程可连)5005:调试端口(可自定义)suspend=n:启动时不等待调试器如果只限本机调试:
address=5005
sudo systemctl restart tomcat9
sudo netstat -tlnp | grep 5005
# 或
sudo ss -tlnp | grep 5005
Tomcat 自带调试启动方式:
cd /opt/tomcat/bin
sudo ./catalina.sh jpda start
默认调试端口是 8000,可修改:
export JPDA_ADDRESS=5005
./catalina.sh jpda start
sudo ufw allow 5005/tcp
云服务器还需在安全组放行。
ssh -L 5005:localhost:5005 user@server
然后 IDE 连 localhost:5005
如果你告诉我:
我可以给你更精确的配置。