Springboot jar包远程调试详解
对于运行在服务器上面,隐藏较深,通过日志也排查不出的问题,有的时候需要通过本地调试来一步步排错,教过好些同事远程调试所需配置步骤,特此用笔记录下来,避免重复劳动。
一、idea打包
二、install 后jar包位置
三、运行程序(远程调试启动)
找到jar所在路径,进入cmd窗口,命令如下,监听启动5005端口(和程序的端口8089没关系)-远程调试启动语句:
// 找到对应的jar包目录,cmd窗口中执行下面语句即可java -Xdebug -Xrunjdwp:transport=dt_socket,address=5005,server=y,suspend=n -jar mac-test-0.0.1-SNAPSHOT.jar
普通启动语句:
// 普通jar包启动语句java -jar mac-test-0.0.1-SNAPSHOT.jar --spring.profiles.active=test >> /var/log/mac-test.log 2>&1 & 说明:spring.profiles.active=test :对应多环境配置的情况,test指的是测试环境,对应application-test.properties 配置文件,意思是运行测试环境的配置 /var/log/mac-test.log :指把程序运行的日志全部输出到/var/log 下 mac-test.log文件中。一般项目都会配置日志框架,比如log4j等。启动会配置具体的日志输出路径。
启动日志如下:
四、启动成功验证
项目配置了swagger,通过访问 http://localhost:8089/swagger-ui.html 页面即可
五、idea中添加远程调试配置
进入idea设置页面,确定好要监听的Host, 本地测试为localhost,默认port 5005,需要跟cmd中执行监听语句的端口保持一致。如果为服务器调试,把host配置成服务器ip即可。
六、启动调试监控
启动日志
七、在swagger中请求验证,就会进入本地代码断点中
以上
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
SpringBoot项目设置断点debug调试无效忽略web.xml问题的解决
刚接触springboot项目, (1)发现断点debug调试无效,很郁闷,网上搜索解决办法. 看到的都是一些很复杂的方案,说是远程调试,还要另外开端口号.这和传统的项目不一样,因此觉得没必要. 所以经过摸索,发现有一种更加简单的方式,步骤如下: 在pom文件的plugin部分加上一段配置: <configuration> <fork>false</fork> </configuration> 这样就ok了: (2)关于SpringBoot项目中报错说web
-
Springboot jar包远程调试详解
对于运行在服务器上面,隐藏较深,通过日志也排查不出的问题,有的时候需要通过本地调试来一步步排错,教过好些同事远程调试所需配置步骤,特此用笔记录下来,避免重复劳动. 一.idea打包 二.install 后jar包位置 三.运行程序(远程调试启动) 找到jar所在路径,进入cmd窗口,命令如下,监听启动5005端口(和程序的端口8089没关系)-远程调试启动语句: // 找到对应的jar包目录,cmd窗口中执行下面语句即可java -Xdebug -Xrunjdwp:transport=dt_so
-
springboot的war和jar包的使用详解
本篇和大家分享的是通过maven对springboot中打war包和jar包:war通常来说生成后直接放到tomcat的webapps下面就行,tomcat配置自动解压war,而jar一般通过命令行部署和启动: 首先,来实战怎么生成war包,主要来说可以分为3个步骤: •程序入口改造 •排除springboot内置tomcat •spring-boot-maven-plugin插件中配置程序入口 程序入口改造,我们需要把springboot的main入口屏蔽掉,然后继承SpringBootSer
-
SpringBoot应用jar包启动原理详解
目录 1.maven打包 2.Jar包目录结构 3.可执行Jar(JarLauncher) 4.WarLauncher 5.总结 1.maven打包 Spring Boot项目的pom.xml文件中默认使用spring-boot-maven-plugin插件进行打包: <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>s
-
Android Studio 生成自定义jar包的步骤详解
想要将一个项目导出为jar包,供其它项目使用,在eclipse中可以直接导出该项目为jar包,而 在AS中可以通过修改gradle才处理. 接下来就介绍下具体的步骤: 1.新建一个项目,项目名随意,eg:MakeJarApplication,在项目中新建一个module类型为android-library ,命名为testLibrary.如图: 项目结构图 2.让app依赖这个库,在app下的build.gradle文件中添加compile project(':testlibrary') dep
-
Java关于jar包的知识详解
在学习jar包之前,要先弄懂Java包,以及关于Java包的相关概念. 一.包 为了更好地组织类,Java提供了包机制.包是类的容器,用于分隔类名空间.如果没有指定包名,所有的示例都属于一个默认的无名包. 格式为: package pkg1[.pkg2[.pkg3-]]: 代码实例: package cn.com.zhouzhou;//包名一定要由小写字母组成 public class Lession1 { public static void main(String[] args) { Sys
-
intellij idea 将模块打jar包的步骤详解
今天要想在本机开多个java压测进程测试目标程序.所以需要在本机开多个终端执行jar程序.步骤如下: 1.点开Project Structure,点击左侧Artifacts菜单 选择下图中1.后点击2处 +号,选中3 jar的子菜单 点击4处"from modules with dependencise". 2. 进入下图:Module:选择你要打jar包的模块,MainClass:选择你main 函数所在的类 Jar files from libraries: 选中第一个打完包后是一
-
Android Studio3.2中导出jar包的过程详解
1.)说明. 本项目是来自github上的一个项目roottools (https://github.com/Stericson/RootTools),这里只是想本地编译后输出下jar包供自己进行使用. 2.)操作步骤. 步骤1)按之前你熟悉的方式进行开发待输出为jar的项目. 步骤2) 一般的gradle设置,比如gradle版本,android sdk的编译,目标,最小要求版本..还有compileOptions的jdk版本设置等. 步骤3)gradle中的apply plugin设置: a
-
修改及反编译可运行Jar包实现过程详解
将可运行Jar包,反编译成项目,修改代码,再次编译,打包. 需要工具:jd-gui.myeclipse 具体步骤: 1.使用jd-gui打开原始的Jar包,选择File-->Save All Sources,会生成一个zip压缩包 2.解压这个压缩包,生成一个文件夹,可以看到文件夹里所有的class文件变成了java源码文件.(如果最开始直接解压原始的Jar包,那么解压出来的就是class文件,而不是java源文件) 3.打开myeclipse,新建一个普通的Project项目,将解压后的内容拷
-
IDEA生成可运行jar包(包含第三方jar包)流程详解
最近现网需要处理一下数据,来适配一个场景.安排我来编写一个脚本来实现,由于步骤比较多,且需要调用其他服务接口,使用shell脚本来实现比较困难,所以想到了使用shell脚本调用java可执行jar包的方式来实现,期间遇到了很多问题,因此写篇文章记录一下. IDEA创建Java项目 打开IDEA,左上角菜单项依次选择File--->New--->Project--->Java--->Next--->Next--->输入项目名称(test). 新的java项目就创建好了(不
-
SpringBoot应用自定义logback日志详解
目录 概述 logback配置详解 配置内容概念介绍 配置介绍 SpringBoot中自定义logback 多环境输出日志文件 读取配置文件配置 概述 默认情况下,SpringBoot内部使用logback作为系统日志实现的框架,将日志输出到控制台,不会写到日志文件.如果在application.properties或application.yml配置,这样只能配置简单的场景,保存路径.日志格式等.复杂的场景(区分 info 和 error 的日志.每天产生一个日志文件等)满足不了,只能自定义配
随机推荐
- 收集的多个ruby遍历文件夹代码实例
- drop,truncate与delete的区别
- SQL2005的维护计划无法删除的解决方法
- Linux内核链表实现过程
- Linux 每天自动备份mysql数据库的方法
- 在 DOS 下怎样驱动光驱?
- iOS实现scrollview上拉显示Navbar下拉隐藏功能详解
- C语言 while语句的用法详解
- JavaScript使用技巧精萃[代码非常实用]
- Zend Framework入门教程之Zend_Session会话操作详解
- js拖动div 当鼠标移动时整个div也相应的移动
- 轻松创建nodejs服务器(6):作出响应
- Python实现生成简单的Makefile文件代码示例
- 使用prop解决一个checkbox选中后再次选中失效的问题
- JQuery与Ajax常用代码实现对比
- CentOS 7安装完成后初始化的方法
- C# 创建报表过程详解
- 关于PHP内置的字符串处理函数详解
- Android编程之数据库的创建方法详解
- C#查找字符串所有排列组合的方法