1.问题
以jar包的形式运行Spring Boot项目时报错,但是在IDEA开发环境下编译运行Spring Boot项目不报错,如何复现jar包运行时的错误呢?这就需要在IDEA下远程断点调试jar包代码。
2.步骤
- 将 springboot 项目打成jar包;
- 在IDEA中,依次点击Edit Configuration->+->Remote,新建一个远程调试,其中Name随便起名字,Host是jar包目标运行位置(如果在本地可以写localhost),Port使用默认的5005即可,拷贝Command line arguments for remote JVM的内容;
- 在jar包的目标运行环境中,Win+R,打开CMD,进入jar包所在的目录,输入如下指令运行jar包,并将运行的jar包与IDEA相绑定:
java 复制的指令 -jar 包名
- 此时jar运行时会打印如下信息,表示它正在监听 5005 端口:
- 在IDEA中的与jar包一致的代码中,打断点,调试Remote;
- 访问jar包的地址,触发断点,此时IDEA 的控制台是不会输出信息的,只能在jar包运行的控制台查看。