我正在尝试在智能J IDEA中远程调试Java测试文件。但是我遇到以下错误。
运行“测试”时出错:无法打开调试器端口(localhost:8787): java.io.IOException“握手失败-过早连接 关闭”
我已经看到了编辑命令行参数的方法,但是在2019.2(最终版)中是不允许的。
下面是我的配置。
请帮助。
答案 0 :(得分:0)
在容器中运行的java
命令需要具有以下参数,以及已经存在的任何其他参数。
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:8787
在创建容器的映像时,需要通过在Dockerfile
中添加以下行来公开端口8787:
EXPOSE 8787
创建容器时,需要指定端口8787应该通过隧道传输到Docker主机。如果您使用的是docker-compose
,请在特定容器部分下添加以下内容:
ports:
- '8787:8787'
如果您使用的是docker create
,则参数为--publish=8787:8787
。
如果所有这些设置都正确,则调试器现在应该可以连接到localhost:8787。