M1 Mac IDEA 调试项目报错启动失败

在 m1 芯片下的 macOS 中使用 IDEA 调试 Java 项目时经常会报这个错误,非常影响工作效率。

1
2
3
ERROR: transport error 202: connect failed: Operation timed out
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
JDWP exit error AGENT_ERROR_TRANSPORT_INIT (197) : No transports initialized [debugInit.c:750]

解决办法:

在 IDEA -> Help -> Edit Custom VM Options 中添加如下行。

1
-Djava.net.preferIPv4Stack=true

重启 IDEA 之后再次调试就不会报错了。

来自 GPT-4 的解答:

-Djava.net.preferIPv4Stack=true是一个在启动 Java 应用程序时使用的 JVM(Java 虚拟机)参数,用来指示 JVM 优先使用 IPv4 堆栈,而不是 IPv6 堆栈。这个参数在处理网络编程时尤其重要,特别是在那些还没有完全支持 IPv6 或在 IPv6 环境下工作不佳的应用程序中。

设置-Djava.net.preferIPv4Stack=true参数后,即使操作系统支持 IPv6,Java 应用程序也会优先使用 IPv4 网络接口和协议。这对于需要确保最大兼容性的应用程序来说是有用的,特别是在一些网络环境中 IPv6 支持可能不是很完善或者存在问题时。

总而言之,就是不使用 IPv6 就是了。


M1 Mac IDEA 调试项目报错启动失败
https://cui.cc/fe9b0fbc599c/
作者
南山崔崔
发布于
2023年10月8日
许可协议