前言
本地开发代码跟生产上线感觉就像两套代码一样,经常性在本地开发&调试无问题,一上生产就出问题。
开发环境与生产环境
- 开发环境
- IDEA2020.3
- JDK1.8_271
- 生产环境
- JDK1.8_181
Demo
java -Xdebug -Xrunjdwp:transport=dt_socket,address=5005,server=y,suspend=y -cp /script/scala_job/jars/scala-1.0-SNAPSHOT.jar com.xinxing.dingding.GetUserPhone
在你自己要运行的jar包加参数-Xrunjdwp:transport=dt_socket,address=5005,server=y,suspend=y
即可,由于我一个jar包有好几个main
方法,所以我用的不是 -jar 是 -cp 。
- 参数含义:
- -XDebug 启用调试
- -Xrunjdwp 加载JDWP的JPDA参考执行实例
- transport 用于在调试程序和 JVM 使用的进程之间通讯
- dt_socket 套接字传输
- server=y/n JVM是否需要作为调试服务器执行
- address 调试服务器监听的端口号
- suspend=y/n 是否在调试客户端建立连接之后启动 JVM
请注意查看服务器防火墙是否关闭,网络是否可以ping通
1、服务端运行jar包
2、IDEA配置
3、给本地项目打好断点后,点那个绿色的小昆虫
注意:选择你配置的那个远程RemoteDebug,选错了就直接在你本地进行Debug了!
接下来就可以开始远程Debug了。