我们在使用IDEA开发SpringBoot项目,在调试过程中,如果需要一些改动,比如添加一些Log信息或者修改某个变量的时候,普通情况下,我们需要重新打包然后再上传到服务器,再重新部署一下,非常麻烦,即便是一个小小的改动,整个流程都需要重新走一遍。好在IDEA和SpringBoot提供了远程调试和热部署的功能,我来简单介绍一下
- 编辑配置

- 入相关界面,然后再点击图中的“+”号,选择“Remote”选项

- 点击“Remote”后进入如下界面,相关选项的作用已经在图中标注了,设置完成点击“Apply”即可

- 再次点击如下位置,就会出现debug项目的名称,我这里命名为demo

在项目的pom.xml文件相应的位置添加如下代码,注意plugins中的代码,项目中可能已经存在,你只需要添加没有的部分即可 ```xml <?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<artifactId>demo-modules</artifactId><groupId>com.concise.demo</groupId><version>1.0.0</version>
4.0.0 demo-javacpp 8 8 <dependency><groupId>org.bytedeco</groupId><artifactId>javacpp</artifactId><version>1.5.7</version></dependency>
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><!-- optional=true,依赖不会传递,该项目依赖devtools;之后依赖myboot项目的项目如果想要使用devtools,需要重新引入 --><optional>true</optional></dependency><dependency><groupId>com.concise</groupId><artifactId>component-web</artifactId></dependency></dependencies><build><finalName>demo-javacpp</finalName><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>${maven-compiler-plugin.version}</version><configuration><encoding>utf-8</encoding><source>${java.version}</source><target>${java.version}</target><annotationProcessorPaths><!-- 引入 mapstruct-processor --><path><groupId>org.mapstruct</groupId><artifactId>mapstruct-processor</artifactId><version>${mapstruct.version}</version></path><!-- 引入 lombok-processor --><path><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>${lombok.version}</version></path></annotationProcessorPaths></configuration></plugin><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>${spring-boot.version}</version><configuration><!-- fork: 如果没有配置该项配置,devtools不会起作用的,即应用不会restear --><fork>true</fork><!-- 引入本地jar之后, 加入如下这行, maven才会打包进jar--><includeSystemScope>true</includeSystemScope><addResources>true</addResources><mainClass>com.concise.demo.javacpp.JavacppApplication</mainClass></configuration><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin></plugins></build>
6. 此时对项目进行打包,将jar文件上传至服务器。第一次还是需要将jar包上传的7. 在服务器执行如下代码 注意:1. address改成自己的端口1. jar名称改成自己的jar包名称```bashjava -Xdebug -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar demo-javacpp.jar
成功后会有如下显示
- 在IDEA中选择debug项目,点击debug按钮,项目就在服务器运行了

:::warning
每次改变项目中的代码,一定要记得build一下, 这样服务器端的jar会被热更新的
:::

