ホームページ > Java > &#&チュートリアル > IDEAリモート接続の使い方 Springbootでデバッグする

IDEAリモート接続の使い方 Springbootでデバッグする

王林
リリース: 2023-05-10 23:55:04
転載
1256 人が閲覧しました

1. まず、リモート デバッグの準備ができたデモを作成します。ビルド プロジェクトの構成に注意してください。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

<?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>

ログイン後にコピー

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

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>

ログイン後にコピー

2. パッケージ化

入力: mvn clean package , (おそらく必要です。数分待ちます)、jar パッケージを再ダウンロードする必要がないように、ビルドする前にローカル リポジトリを指定することをお勧めします。

IDEAリモート接続の使い方 Springbootでデバッグする

IDEAリモート接続の使い方 Springbootでデバッグする

3. IDEA でリモート デバッグを設定します。

ソケット ポート = 8081 を指定し、接続するポートを指定します。デバッグするモジュール

IDEAリモート接続の使い方 Springbootでデバッグする

4. ターミナルで作成したばかりの jar パッケージを開始します

a. まず、IDEA# でデバッグを開始します

IDEAリモート接続の使い方 Springbootでデバッグする

b. 次に、ターミナルにコマンド java -agentlib:jdwp=transport=dt_socket,server=n,address=localhost:8081 を入力します。 -jarremote_test-0.0.1-SNAPSHOT-all.jar

IDEAリモート接続の使い方 Springbootでデバッグする

5.Test

リクエストを準備するインターフェイスにブレークポイントをマークします

IDEAリモート接続の使い方 Springbootでデバッグする

IDEAリモート接続の使い方 Springbootでデバッグする

IDEAリモート接続の使い方 Springbootでデバッグする

注: 最初に IDEA でデバッグを開始してから、プロジェクトを開始する必要があります


➜ デスクトップ 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)

JDWP 終了エラー AGENT_ERROR_TRANSPORT_INIT(197): トランスポートが初期化されていません [debugInit.c:750]
###

以上がIDEAリモート接続の使い方 Springbootでデバッグするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート