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.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<jvmArguments>
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005
</jvmArguments>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
然后用maven插件打包成jar文件。在cmd命令行中发布
注意:这个address号一定要和maven的一致。因为你不写的话,jvm会自动给你创建一个端口,你在命令行中可以看到,那上面的那个address是干吗的?????卧槽 我也不知道 反正都是这样配置的pom中。这些都是我亲测的。放心好了。
java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=5005,suspend=n -jar SeeyonCloud-Weather.jar
- 1
项目启动成功之后。开始配idea
看图
新增一个远程调用的配置。填上端口号和ip,这个端口号就是我上面说的你如果启动的时候不带address的时候他会自动给你创建一个。这里你端口应该填5005
启动成功的画面
然后启动这个远程服务就行。
你会发现 你虽然在命令行发布的项目,但是在idea中打断点可以拦截到。牛逼不牛逼 —–
好奇的我十分钟之后的修改
刚测试了一下,在pom中不配置也可以。直接启动的时候加参数就行 springboot太方便了