色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

springboot使用IDEA遠程Debug

瀏覽:58日期:2023-03-06 14:45:10
目錄 1、先創建一個準備遠程調試的Demo,注意構建項目的配置2、打包3、在IDEA配置遠程Debug4、在終端啟動剛才打好的jar包5、測試

項目上線之后,如果日志打印的很模糊或者業務邏輯比較復雜,有時候無法定位具體的錯誤原因,因此可以通過IDEA遠程代理進行Debug。

線上的代碼一定要和本地的一致!

環境:

2.1.4.RELEASE(org.springframework.boot) jdk1.8 Apache Maven 3.5.0 1、先創建一個準備遠程調試的Demo,注意構建項目的配置

<?xml version='1.0' encoding='UTF-8'?><project xmlns='http://maven.apache.org/POM/4.0.0' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'xsi:schemaLocation='http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd'><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.1.4.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.remote.test</groupId><artifactId>remote_test</artifactId><version>0.0.1-SNAPSHOT</version><name>remote_test</name><description>Demo project for Spring Boot</description> <properties><java.version>1.8</java.version></properties> <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter-api</artifactId><version>RELEASE</version><scope>test</scope></dependency></dependencies> <build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-shade-plugin</artifactId><version>2.2</version><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>2.1.4.RELEASE</version></dependency></dependencies><configuration><keepDependenciesWithProvidedScope>true</keepDependenciesWithProvidedScope><createDependencyReducedPom>false</createDependencyReducedPom><filters><filter><artifact>*:*</artifact><excludes><exclude>META-INF/*.SF</exclude><exclude>META-INF/*.DSA</exclude><exclude>META-INF/*.RSA</exclude></excludes></filter></filters></configuration><executions><execution><phase>package</phase><goals><goal>shade</goal></goals><configuration><finalName>${project.artifactId}-${project.version}-all</finalName><transformers><transformer implementation='org.apache.maven.plugins.shade.resource.AppendingTransformer'><resource>META-INF/spring.handlers</resource></transformer><transformer implementation='org.springframework.boot.maven.PropertiesMergingResourceTransformer'><resource>META-INF/spring.factories</resource></transformer><transformer implementation='org.apache.maven.plugins.shade.resource.AppendingTransformer'><resource>META-INF/spring.schemas</resource></transformer><transformer implementation='org.apache.maven.plugins.shade.resource.ServicesResourceTransformer'/><transformer implementation='org.apache.maven.plugins.shade.resource.ManifestResourceTransformer'><!--根據項目的全名指定啟動類--> <mainClass>com.remote.test.remote_test.RemoteTestApplication</mainClass></transformer></transformers></configuration></execution></executions></plugin></plugins></build></project>

package com.remote.test.remote_test; import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.web.bind.annotation.PostMapping;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.RestController; import java.util.HashMap;import java.util.Map; @RestController@RequestMapping('remote/test')public class UserController { private static final Logger logger = LoggerFactory.getLogger(UserController.class); @PostMapping('selectByUserId') public String selectUserInfo(@RequestParam('userId') String userId) {try { Map<String,Object> userInfo = new HashMap<>(); userInfo.put('userId',userId); userInfo.put('age',23); userInfo.put('name','yanshao'); userInfo.put('address','shanghai'); logger.info('Query user information by user ID. userInfo: {}',userInfo.toString()); return this.success(userInfo);} catch (Exception e) { logger.error('Query user information by user ID. userId:{} ', userId, e); return this.fail();} } private String success(Object data){Map<String,Object> res = new HashMap<>();res.put('code',0);res.put('desc','success');res.put('data',data);return res.toString(); } private String fail(){Map<String,Object> res = new HashMap<>();res.put('code',1);res.put('desc','fail');return res.toString(); } }2、打包

輸入:mvn clean package,(大概需要等幾分鐘),最好在構建之前指定本地repository,就不需要重新下載jar包了。

springboot使用IDEA遠程Debug

springboot使用IDEA遠程Debug

3、在IDEA配置遠程Debug

指定socket port = 8081,指定準備debug的模塊

springboot使用IDEA遠程Debug

4、在終端啟動剛才打好的jar包

a. 先在IDEA啟動debug

springboot使用IDEA遠程Debug

b. 然后在終端輸入命令:java -agentlib:jdwp=transport=dt_socket,server=n,address=localhost:8081 -jar remote_test-0.0.1-SNAPSHOT-all.jar

springboot使用IDEA遠程Debug

5、測試

在準備請求的接口上標記斷點

springboot使用IDEA遠程Debug

springboot使用IDEA遠程Debug

springboot使用IDEA遠程Debug

注意:必須先在IDEA啟動Debug,然后再啟動項目

➜ Desktop java -agentlib:jdwp=transport=dt_socket,server=n,address=localhost:8081 -jar remote_test-0.0.1-SNAPSHOT-all.jarERROR: transport error 202: connect failed: Connection refusedERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [debugInit.c:750]

到此這篇關于springboot使用IDEA遠程Debug的文章就介紹到這了,更多相關springboot IDEA遠程Debug內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
主站蜘蛛池模板: 一级a美女毛片 | 国产亚洲久久 | 国产成人精品免费视频大全办公室 | 免费精品国产日韩热久久 | 国产一区二区在线观看免费 | 毛片成人永久免费视频 | 怡红院免费va男人的天堂 | 国产日韩视频在线观看 | 国产成人久久精品麻豆二区 | 日韩美女在线视频 | 三级黄色在线 | 频黄| 先锋影音xfyy5566男人资源 | 日韩视频欧美视频 | 国产精品吹潮在线播放 | www.黄色com| 成人精品一区久久久久 | 欧美α一级毛片 | 欧美一级视频精品观看 | 91精品全国免费观看 | 久久伊人男人的天堂网站 | 精品日韩一区二区三区视频 | 香蕉视频老司机 | 欧美在线成人免费国产 | 亚欧成人毛片一区二区三区四区 | 国产欧美一区二区三区视频 | 欧美一做特黄毛片 | 精品色综合 | 亚洲伊人色综合网站亚洲伊人 | 久久精品视频免费看 | 日韩一级免费毛片 | 免费国产成人高清无线看软件 | 欧美.成人.综合在线 | 日本三级2021最新理论在线观看 | 久久九 | 成人影院vs一区二区 | 亚洲精品无码不卡 | 午夜在线观看cao | 一区二区三区日本视频 | 亚洲免费在线观看 | a级免费|