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

目录
  • 问题:
  • 步骤:
    • 关键点:IDEA源码必须与待调试jar包保持一致,切记!!!不然进不了debug模式!!!!
  • 后记:

问题:

一般情况下,可以打成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包内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Springboot jar包远程调试详解

    对于运行在服务器上面,隐藏较深,通过日志也排查不出的问题,有的时候需要通过本地调试来一步步排错,教过好些同事远程调试所需配置步骤,特此用笔记录下来,避免重复劳动. 一.idea打包 二.install 后jar包位置 三.运行程序(远程调试启动) 找到jar所在路径,进入cmd窗口,命令如下,监听启动5005端口(和程序的端口8089没关系)-远程调试启动语句: // 找到对应的jar包目录,cmd窗口中执行下面语句即可java -Xdebug -Xrunjdwp:transport=dt_so

  • 如何基于Idea远程调试tomcat war包及jar包

    一. war包方式 1. catalina.bat 开头设置远程端口set JPDA_ADDRESS=8080 2. cmd到bin目录 catalina.bat jpda start 3. idea 开启远程.远程端口是catalina.bat中设置的8080,项目端口为9045,注意区分. debug启动,连接成功.修改类后,点击build或recompile,可以刷新修改的内容到jvm,完成远程热部署. 不过静态资源不能热更新,暂时没找到办法. 4. 完成连接,控制台打印 Connecte

  • 使用idea远程调试jar包的配置过程

    1.远程启动项目 配置JVM参数运行 -Xdebug -Xrunjdwp:transport=dt_socket,suspend=n,server=y,address=${debug_port} 启动举例: java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=80 -jar demo.jar nohup java -Xdebug -Xrunjdwp:transport=dt_socket,suspend=n,

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

    目录 问题: 步骤: 关键点:IDEA源码必须与待调试jar包保持一致,切记!!!不然进不了debug模式!!!! 后记: 问题: 一般情况下,可以打成Jar包的项目,它的源码运行Application项目时,是可以直接调试源码的.但是实际项目在测试环境运行时是以jar的形势运行,碰到测试环境出问题,本地运行OK的这种情况,有两种case:1.远程在线调试,2.把jar下载下来,本地调试jar包 现已本地调试jar为例: 步骤: 1.通过以下命令启动 jar文件:(端口5005可以修改) she

  • Maven生成及安装jar包到本地仓库的方法

    前言 本文将讲解如何通过Maven生成jar包并安装到本地仓库(包括将当前项目打包安装仓库到本地以及安装从外部获得的单独jar包),完成下面的操作需要安装Maven并了解一些基础的命令使用,想了解Maven的一些基础概念,可以查看我的这篇文章,此外本文就不自己从零构建一个Maven项目了,而是采用IDEA自带的模板来演示样例. 创建一个 Maven 项目 在正式讲解之前,我们先创建一个简单的Maven项目: 然后在src/main/java/目录下,创建一个util/Demo.java文件: 生

  • jar包的各种启动方式超详细总结

    目录 一.各种启动方式 1.java -jar 2.java -jar test.jar & 3.nohup java -jar test.jar 4.nohup java -jar test.jar & 5.nohup java -jar test.jar > ./info.log & 6. nohup java -jar test.jar >> ./info.log & 7. nohup java -jar test.jar >> /dev

  • 一文讲解如何获取k8s容器里运行的jar包

    目录 01 引言 02 从镜像信息获取 03 进入容器获取(推荐) 04 文末 01 引言 在k8s上运行了第三方的应用,很多时候我们都想知道运行流程,一般都会从k8s容器中获取jar包. 那么该如何把里面的jar包提取出来呢? 其实有两种方式,分别为: ① 从镜像信息获取: ② 进入容器获取 02 从镜像信息获取 主要参考了:https://www.jb51.net/article/264058.htm 首先,查看镜像: docker image ls |grep 你想要找到镜像名 查看镜像内

  • Maven优雅的添加第三方Jar包的方法

    在利用Maven构建项目的时候会出现某些Jar包无法下载到本地的Repository中,鉴于这种情况比较普遍存在,特归纳以下解决问题办法:以 ojdbc14-10.2.0.4.0.jar为例[其它Jar包本地安装同理] 1:下载ojdbc14-10.2.0.4.0.jar 2:在jar包目录打开cmd命令窗口执行:mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc14 -Dversion=10.2.0.4.0 -Dpa

  • Python爬虫进阶Scrapy框架精文讲解

    目录 一.前情提要 为什么要使用Scrapy 框架? 二.Scrapy框架的概念 三.Scrapy安装 四.Scrapy实战运用 这一串代码干了什么? 五.Scrapy的css选择器教学 按标签名选择 按 class 选择 按 id 选择 按层级关系选择 取元素中的文本 取元素的属性 一.前情提要 为什么要使用Scrapy 框架? 前两篇深造篇介绍了多线程这个概念和实战 多线程网页爬取 多线程爬取网页项目实战 经过之前的学习,我们基本掌握了分析页面.分析动态请求.抓取内容,也学会使用多线程来并发

  • Spring Boot Jar 包部署脚本的实例讲解

    当使用 Spring Boot 进行开发时,它可以将项目打包成 Jar 包进行部署,但是我们的部署环境一般都是 Linux,每次手写脚本很烦人,所以我提供了一个简单的脚本,用于部署 Spring Boot 生成的 Jar 包. 脚本内容很简单,就是通过端口 kill 掉旧的进程,并将新的 Jar 包部署上去. #!/bin/bash port=8090 jar_name="上传到服务器上的 Jar 包名称" deployed_jar="服务器上部署的 Jar 包名称"

  • 不使用他人jar包情况下优雅的进行dubbo调用详解

    目录 1.正常dubbo调用流程 2.如果想在不引用他人jar包的情况下如何调用呢? dubbo泛化调用-dubbo原生支持的优雅方法 使用场景: 如何使用: 实现原理: 3.总结 1.正常dubbo调用流程 引入dubbo依赖 引入他人提供的clinet依赖包; 配置相同的注册中心,使用@Reference注解注入对应的service接口(注意是Reference是dubbo包下的,不是spring那个) 2.如果想在不引用他人jar包的情况下如何调用呢? dubbo泛化调用-dubbo原生支

随机推荐