开发者

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

开发者 https://www.devze.com 2023-02-08 10:31 出处:网络 作者: 小野爸爸
目录一、热启动和热部署的区别(仅代表个人看法)二、spring boot在idea中的热启动三、spring boot在idea中的热部署1、直接用application启动2、使用maven启动总结spring mvc项目在eclipse中使用tomcat启动可以实现即改
目录
  • 一、热启动和热部署的区别(仅代表个人看法)
  • 二、spring boot在idea中的热启动
  • 三、spring boot在idea中的热部署
    • 1、直接用application启动
    • 2、使用maven启动
  • 总结

    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

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

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

    2、使用maven启动

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

    <plugins>
    
    <plugin>
    
    <groupId>org.springframework.boot</groupId>
    
    <artifactId>s开发者_Python学习pring-boot-maven-plugin</artifactId>
    
    <dependencies>
    
    <!-- spring热部署-->
    
    <dependency>
    
    <groupId>org.springframework</groupId>
    
    <artifactId>spring编程客栈loaded</artifactId>
    
    <version>1.2.7.RELEASE</version>
    
    </dependency>
    
    </dependencies>
    
    <configuration>
    
    <executable&phpgt;true</executable>
    
    <jvmArguments>
    
    -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005
    
    </jvmArguments>
    
    </configuration>
    
    </plugin>

    添加remote

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

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

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

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

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

    总结

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

    0

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    关注公众号