问题前提:
通过环境变量的形式(JAVA_OPTS)开启Debug模式,但Debug端口未生效。
问题原因:
- 容器内截图(Java版本&Env)
- Docker Compose截图
- 未检测到该Debug端口(8001)开放
查到的的说法:
JAVA_OPTS:常用于一些应用的配置,如Tomcat,但它一般不作为环境变量,也不能被JVM识别的,是那些应用的自定义配置;
JAVA_TOOL_OPTIONS:是标准的,所有虚拟机都能识别和应用的。有些应用不方便设置JVM参数,如命令行应用、通过JNI(Java Native Interface)API调用虚拟机的应用、脚本嵌入虚拟机中的应用等。这种情况环境变量JAVA_TOOL_OPTIONS就非常有用了,它会被JNI API的JNI_CreateJavaVM函数使用。
如何解决:
将环境变量的key从
JAVA_OPTS=XXXXXXXXXXXX
改为
JAVA_TOOL_OPTIONS=XXXXXXXXXXXX
问题已解决
项目启动Log已包含Debug信息
端口8001已开放
Idea正常连接