idea中对springboot进行远程调试

springboot官方文档:https://docs.spring.io/spring-boot/docs/1.1.x/maven-plugin/examples/run-debug.html
科普一下:为什么要远程调试?
当我们的项目部署到远程的服务器的时候,出错了只能苦逼的打印日志来查看错误信息。远程调试就作用就是你可以在本地进行对你的项目进行调试,很实用有没有。就是说你远程的服务器发布一个项目,发布的时候你需要带一些参数,然后你本地你可以在idea中配一下远程服务器的ip和端口号,然后在本地项目打debug就可以操控你服务器的项目了。
注意:只能调试,修改不起作用。还有,代码一定要保持一致 !!!!!

首先在maven中配置

注意address=5005是指你暴露的监听端口。你idea连的就是这个端口。任意指定

<plugins>
            <plugin>
                <groupId>org.springframework.bootgroupId>
                <artifactId>spring-boot-maven-pluginartifactId>
                <configuration>
                    <jvmArguments>
                        -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005
                    jvmArguments>
                configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackagegoal>
                        goals>
                    execution>
                executions>
            plugin>
        plugins>

然后用maven插件打包成jar文件。在cmd命令行中发布
注意:这个address号一定要和maven的一致。因为你不写的话,jvm会自动给你创建一个端口,你在命令行中可以看到,那上面的那个address是干吗的?????卧槽 我也不知道 反正都是这样配置的pom中。这些都是我亲测的。放心好了。

java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=5005,suspend=n -jar SeeyonCloud-Weather.jar

项目启动成功之后。开始配idea
看图
新增一个远程调用的配置。填上端口号和ip,这个端口号就是我上面说的你如果启动的时候不带address的时候他会自动给你创建一个。这里你端口应该填5005
idea中对springboot进行远程调试_第1张图片
启动成功的画面
这里写图片描述
然后启动这个远程服务就行。
你会发现 你虽然在命令行发布的项目,但是在idea中打断点可以拦截到。牛逼不牛逼 —–

好奇的我十分钟之后的修改

刚测试了一下,在pom中不配置也可以。直接启动的时候加参数就行 springboot太方便了

你可能感兴趣的:(idea)