我正在尝试在 intelli J IDEA 中远程调试 java 测试文件。但是我收到以下错误。
Error running 'test': Unable to open debugger port (localhost:8787): java.io.IOException "handshake failed - connection prematurally closed"
我见过编辑命令行参数的解决方案,但在2019.2(终极版)中不允许。
下面是我的配置。
请帮忙。
最佳答案
在容器中运行的 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。
关于java - Intellij IDEA 无法打开调试器端口(localhost :8787): java. io.IOException "handshake failed - connection prematurally closed",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58725488/