<?xml version="1.0" encoding="UTF-8"?> <project 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></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> <resource>META-INF/spring.handlers</resource> </transformer> <transformer> <resource>META-INF/spring.factories</resource> </transformer> <transformer> <resource>META-INF/spring.schemas</resource> </transformer> <transformer></transformer> <transformer> <!--根据项目的全名指定启动类--> <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> 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> res = new HashMap(); res.put("code",0); res.put("desc","success"); res.put("data",data); return res.toString(); } private String fail(){ Map<string> res = new HashMap(); res.put("code",1); res.put("desc","fail"); return res.toString(); } }</string></string></string>
入力: mvn clean package
, (おそらく必要です。数分待ちます)、jar パッケージを再ダウンロードする必要がないように、ビルドする前にローカル リポジトリを指定することをお勧めします。
ソケット ポート = 8081 を指定し、接続するポートを指定します。デバッグするモジュール
4. ターミナルで作成したばかりの jar パッケージを開始しますa. まず、IDEA# でデバッグを開始します
b. 次に、ターミナルにコマンド java -agentlib:jdwp=transport=dt_socket,server=n,address=localhost:8081 を入力します。 -jarremote_test-0.0.1-SNAPSHOT-all.jar
5.Testリクエストを準備するインターフェイスにブレークポイントをマークします 注: 最初に IDEA でデバッグを開始してから、プロジェクトを開始する必要があります###JDWP 終了エラー AGENT_ERROR_TRANSPORT_INIT(197): トランスポートが初期化されていません [debugInit.c:750]
➜ デスクトップ java -agentlib:jdwp=transport=dt_socket,server=n,address=localhost:8081 -jar Remote_test-0.0.1-SNAPSHOT-all.jar
エラー: トランスポート エラー202: 接続に失敗しました: 接続が拒否されました
ERROR: JDWP トランスポート dt_socket の初期化に失敗しました、TRANSPORT_INIT(510)
以上がIDEAリモート接続の使い方 Springbootでデバッグするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。