springboot在idea下debug调试热部署问题

 更新时间:2023年02月07日 10:51:28   作者:小野爸爸  
这篇文章主要介绍了springboot在idea下debug调试热部署问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

spring mvc项目在eclipse中使用tomcat启动可以实现即改即现,也就是修改了java代码代码之后不需要重新部署就可以看到运行效果。

现在的开发环境变成了spring boot和idea,也想实现相同的效果,于是展开了研究,过程相对曲折和搞笑。

一、热启动和热部署的区别(仅代表个人看法)

1、热启动:修改代码后,服务可自动重启,通过console可看出,这种做法并不好用!

2、热部署:修改代码后,服务不需要重启,只替换相关的class即可生效。

很多博文中没有搞清楚热启动和热部署的区别。

二、spring boot在idea中的热启动

在pom文件中添加依赖,就可以实现热启动了。

<dependency>  

   <groupId>org.springframework.boot</groupId> 
   <artifactId>spring-boot-devtools</artifactId>  
   <optional>true</optional>  

</dependency>  

三、spring boot在idea中的热部署

1、直接用application启动

在idea-edit configuartions-sring boot-EnterApplication-VM options中添加

javaagent:C:\Users\li_hongjing\.m2\repository\org\springframework\springloaded\1.2.7.RELEASE\springloaded-1.2.7.RELEASE.jar -noverify

但是这种做法时好用时不好用,而且debug模式会失效。

2、使用maven启动

添加spring-boot-maven-plugin,并添加springloaded的依赖,其中注意jvmArguments

<plugins>

<plugin>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-maven-plugin</artifactId>

<dependencies>

<!-- spring热部署-->

<dependency>

<groupId>org.springframework</groupId>

<artifactId>springloaded</artifactId>

<version>1.2.7.RELEASE</version>

</dependency>

</dependencies>

<configuration>

<executable>true</executable>

<jvmArguments>

-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005

</jvmArguments>

</configuration>

</plugin>

添加remote

环境准备好后有两种方式启动:

  • 一种是没添加jvmArguments,直接使用spring-boot:run启动,这种方式不支持debug。
  • 一种添加了jvmArguments,先启动spring-boot:run,然后启动刚才添加的remote,这种是两个服务,一个正常的服务,一个debug服务,控制台的输出并不在一起,也是很难用。

综上所述,这些添加依赖,添加插件的做法,通通不好用,以上都是废话!

其实,在idea中debug启动spring boot,如果修改了java代码,只需要ctrl+shift+F9重新rebuild一下即可实现热部署!!!

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 浅谈springcloud gateway 连接保活问题

    浅谈springcloud gateway 连接保活问题

    这篇文章主要介绍了springcloud gateway 连接保活问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • @Cacheable 拼接key的操作

    @Cacheable 拼接key的操作

    这篇文章主要介绍了@Cacheable 拼接key的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • SpringBoot+React实现计算个人所得税

    SpringBoot+React实现计算个人所得税

    本文将以个人所得税的计算为例,使用React+SpringBoot+GcExcel来实现这一功能,文中的示例代码讲解详细,具有一定的学习价值,感兴趣的小伙伴可以了解下
    2023-09-09
  • spring强行注入和引用实例解析

    spring强行注入和引用实例解析

    这篇文章主要介绍了spring强行注入和引用实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • Java向上转型与向下转型超详细图解

    Java向上转型与向下转型超详细图解

    我们在Java编程中经常碰到类型转换,对象类型转换主要包括向上转型和向下转型,这篇文章主要介绍了Java向上转型与向下转型的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-04-04
  • Java实现字符编码转换(utf-8/gbk)

    Java实现字符编码转换(utf-8/gbk)

    这篇文章主要为大家详细介绍了如何使用Java实现字符编码转换工具,主要针对UTF-8和GBK两种编码格式,文中的示例代码讲解详,需要的可以了解下
    2025-03-03
  • 对Java的面对对象编程中对象和引用以及内部类的理解

    对Java的面对对象编程中对象和引用以及内部类的理解

    这篇文章主要介绍了对Java的面对对象编程中对象和引用以及内部类的理解,需要的朋友可以参考下
    2016-01-01
  • SpringBoot项目导入aliyun oss starter依赖后启动报错问题

    SpringBoot项目导入aliyun oss starter依赖后启动报错问题

    这篇文章主要介绍了SpringBoot项目导入aliyun oss starter依赖后启动报错问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • RabbitMQ中Confirm消息确认机制保障生产端消息的可靠性详解

    RabbitMQ中Confirm消息确认机制保障生产端消息的可靠性详解

    这篇文章主要介绍了RabbitMQ中Confirm消息确认机制保障生产端消息的可靠性详解,生产者将数据发送到 RabbitMQ 的时候,可能数据就在半路给搞丢了,因为网络问题啥的,都有可能,需要的朋友可以参考下
    2023-12-12
  • Maven中plugins与pluginManagement的区别说明

    Maven中plugins与pluginManagement的区别说明

    这篇文章主要介绍了Maven中plugins与pluginManagement的区别说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09

最新评论