问题:一般情况下,可以打成Jar包的项目,它的源码运行Application项目时,是可以直接调试源码的但是实际项目在测试环境运行时是以jar的形势运行,碰到测试环境出问题,本地运行OK的这种情况,有两种case:1、远程在线调试,2、把jar下载下来,本地调试jar包,下面我们就来说一说关于jar包怎么改配置?我们一起去了解并探讨一下这个问题吧!

jar包怎么改配置(如何优雅地调试jar包)

jar包怎么改配置

问题:

一般情况下,可以打成Jar包的项目,它的源码运行Application项目时,是可以直接调试源码的。但是实际项目在测试环境运行时是以jar的形势运行,碰到测试环境出问题,本地运行OK的这种情况,有两种case:1、远程在线调试,2、把jar下载下来,本地调试jar包

现以本地调试jar为例:

步骤:

1、通过以下命令启动 jar文件:(端口5005可以修改)

shell

java -jar -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 [你的 jar 文件]

这一步需要打开Terminal这个窗口,可以使用快捷键(Alt F12)这里可以直接执行命令,如下:

2、创建一个"Remote" 执行配置:

3、保留 默认配置点击 "Apply" 和 "Ok"

4、因为你的Jar文件已经在执行了, 所以可以直接开始 debug:

关键点:IDEA源码必须与待调试jar包保持一致,切记!!!不然进不了debug模式!!!!

如果出现以下错误,那是因为第一步没有执行jar包

Unable to open debgger port(localhost:5005):java.net.ConnectException"Connection refused:connect"

后记:

  这个方法也可以用来调试部署到远程服务器的Jar包,操作同上,要求线上服务器以下方式进行启动

java -jar -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 [你的 jar 文件]

不过,一般正式的公司对发布有着严格的规范,一般不允许在线去debug代码,容易影响线上用户。

作者:小虎暮雨链接:http://juejin.cn/post/7072633691440152606