繁体   English   中英

无法连接到远程JVM

[英]Unable to connect to a remote JVM

我正在开发一个Java 10应用程序,该应用程序使用嵌入式Jetty服务器提供来自本地网络的控制,并且正在尝试连接JVM并失败。 它在Ubuntu 18.04 LTS桌面上运行。

我的启动脚本有以下几行:

java -Xdebug -agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n -Djava.library_path=${LIB_PATH} -classpath ${CP} -jar ${APP_DIR}/app.jar 

我的系统上有ufw,并且我已验证端口是否打开。 我从ufw状态获得的输出包括:

8000 ALLOW Anywhere
8000 (v6) ALLOW Anywhere

在IntelliJ中,我的调试配置是

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:8000

当我尝试连接时,我收到一条错误消息,提示拒绝连接。

在配置的地址栏中输入机器的IP地址。

查看netstat -l的输出,我看到以下内容:

tcp 0 0 localhost:8000 0.0.0.0:* LISTEN

这是否意味着调试器仅监听本地主机上的连接? 我需要做些什么才能使其在网络上监听吗?

问题在这一行:

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:8000

如果连接到远程计算机,则地址应该是端口号(如果在本地计算机上)和主机名:端口号。 在地址中删除了“ *:”,它应该可以正常工作。

所以我很快找到了答案。 我需要修改用于服务器的行,使其显示为:

java -Xdebug -agentlib:jdwp=transport=dt_socket,address=*:8000,server=y,suspend=n -Djava.library_path=${LIB_PATH} -classpath ${CP} -jar ${APP_DIR}/app.jar

因此,这是在所有接口上侦听的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM