一文讲解如何优雅的调试jar包

 更新时间:2022年03月15日 15:34:49   作者:小虎暮雨  
在现实开发过程中,现场环境永远比开发环境复杂,下面这篇文章主要给大家介绍了关于如何优雅的调试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代码,容易影响线上用户。

到此这篇关于优雅的调试jar包的文章就介绍到这了,更多相关优雅调试jar包内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 使用springcloud+oauth2携带token去请求其他服务

    使用springcloud+oauth2携带token去请求其他服务

    这篇文章主要介绍了使用springcloud+oauth2携带token去请求其他服务方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • Java Chassis3注册中心分区隔离技术解密

    Java Chassis3注册中心分区隔离技术解密

    这篇文章主要为大家介绍了Java Chassis3注册中心分区隔离技术解密,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • Spring的BeanFactoryPostProcessor接口示例代码详解

    Spring的BeanFactoryPostProcessor接口示例代码详解

    这篇文章主要介绍了Spring的BeanFactoryPostProcessor接口,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • Java中Arrays类与Math类详解

    Java中Arrays类与Math类详解

    这篇文章主要介绍了Java中Arrays类与Math类,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • 基于RestTemplate的使用方法(详解)

    基于RestTemplate的使用方法(详解)

    下面小编就为大家带来一篇基于RestTemplate的使用方法(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • Java将时间按月份分段的实现思路与方法

    Java将时间按月份分段的实现思路与方法

    这篇文章主要给大家介绍了关于Java将时间按月份分段的实现思路与方法,通过文中介绍的方法可以将时间分成我们想要的时间段,文中给出了详细的实例代码,需要的朋友可以参考下
    2021-07-07
  • Java 动态编译在项目中的实践分享

    Java 动态编译在项目中的实践分享

    在 Java 中,动态编译是指在运行时动态地编译 Java 源代码,生成字节码,并加载到 JVM 中执行,动态编译可以用于实现动态代码生成、动态加载、插件化等功能,本文将给大家分享一下Java 动态编译在项目中的实践,感兴趣的同学跟着小编一起来看看吧
    2023-07-07
  • Spring Boot集成Druid数据库连接池

    Spring Boot集成Druid数据库连接池

    这篇文章主要介绍了Spring Boot集成Druid数据库连接池,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • Java POI导出Excel时合并单元格没有边框的问题解决

    Java POI导出Excel时合并单元格没有边框的问题解决

    这篇文章主要给大家介绍了关于Java POI导出Excel时合并单元格没有边框的问题解决办法,文中通过代码介绍的非常详细,对大家学习或者使用java具有一定的参考学习价值,需要的朋友可以参考下
    2023-07-07
  • 一篇文章带你搞定SpringBoot中的热部署devtools方法

    一篇文章带你搞定SpringBoot中的热部署devtools方法

    这篇文章主要介绍了一篇文章带你搞定SpringBoot中的热部署devtools方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09

最新评论