一尘不染

Java远程调试(JPDA)在Tomcat 9中不适用于我

tomcat

我正在尝试在最近升级的Tomcat 9.0.13和Open JDK 11.0.1上远程调试Tomcat Web应用程序。服务器是Redhat
Enterprise Linux 7.6,我正在Windows 7开发人员盒上使用Eclipse进行连接。

Tomcat启动,可以在端口8080上访问该应用程序,但在某些请求下失败。因此,在Eclipse上,我已经使用自己的配置详细信息配置了Remote
Java应用程序。当我尝试连接到它时,连接失败

Failed to connect to remote VM. Connection refused.

我使用的是默认端口8000,在Linux服务器上,netstat -an显示在Tomcat启动时(而不是在Tomcat停止时)在该端口上侦听的进程。

我已经尝试从Windows框中将telnet连接到端口8000并获取

$ telnet c516vefpubrec 8000
Trying XX.XXX.XX.XX...
telnet: Unable to connect to remote host: Connection refused

当我运行旧的Tomcat 7 + Java 1.8进行相同操作时,一切都成功了。我试过其他端口具有相同的结果。

这可能是错误吗?是否有配置项可在Tomcat 9上启用JPDA?


阅读 513

收藏
2020-06-16

共1个答案

一尘不染

我有这个完全相同的问题。我正在从centos vm运行应用程序,并尝试从Windows计算机进行调试。

我必须进入vm上的catalina.sh文件并进行编辑。在处理jpda标志的部分中,需要将JPA_OPTS变量更改为JPDA_OPTS="-agentlib:jdwp=transport=$JPDA_TRANSPORT,address=*:$JPDA_ADDRESS,server=y,suspend=$JPDA_SUSPEND"

注意JPDA变量前的*:。这允许任何IP地址都可以访问远程调试。我相信默认情况下它仅允许本地主机。

希望这可以帮助。

2020-06-16