当运行弹性Beanstalk Java应用程序(非Tomcat)时,如何启用远程调试?AWS文档显示了如何通过指定启动Java进程的命令来实现应用程序的远程调试。
但是,如果我想单独部署相同的应用程序(例如开发和生产部署),并且只想为开发启用远程调试,该怎么办?
但是,如果我想单独部署相同的应用程序(例如开发和生产部署),并且只想为开发启用远程调试,该怎么办?
可以通过使用 _JAVA_OPTIONS
环境变量来实现,具体信息请参见这里。
环境变量的名称可能因JVM供应商而异,但目前 Elastic Beanstalk 使用的是 OpenJDK,该版本支持 _JAVA_OPTIONS
。
[webapp@ip-XXXXXXX ~]$ java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b11)
OpenJDK 64-Bit Server VM (build 25.131-b11, mixed mode)
我认为你可以使用 Eclipse 的 AWS 工具插件 https://aws.amazon.com/eclipse/
勾选框并保存将允许用户进行远程调试。
或者在AWS控制台中更改>弹性Beanstalk>配置>JVM选项
以上是针对JDK5之前的版本
对于JDK8:
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8787