idea实现springboot热部署方法(不需要重启项目,类似eclipse自带热部署的使用)

idea实现springboot热部署方法

网上搜索的关于springboot热启动(部署)的资料

大部分都只能实现热启动项目,即不需要手动重启,idea会自动重启项目。修改一行代码,整个项目重新编译启动,难受不难受?
最近刚从eclipse转到idea,之前在eclipse中如果只是对类中的方法进行了修改,不需要做任何操作修改的代码就能生效。而现在智能idea似乎不支持这样做?各种搜索之后,好不容易才找到靠谱的做法。
以下是不用插件,达到和eclipse中类似效果的方法。先总结一下: 使用快捷键ctrl+shift+F9重新rebuild,一个快捷键搞定!

转载地址:https://blog.csdn.net/lihongjing/article/details/82662892

转载原文如下:

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一下即可实现热部署!!!

 

 

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
你好!关于Spring Boot的热部署和手动重启的问题,我可以给你一些建议。通常情况下,Spring Boot支持热部署,可以在开发过程中实时更新代码而无需手动重启应用程序。但有时候可能会遇到需要手动重启两次才能生效的情况。 首先,你可以尝试以下几个步骤来解决这个问题: 1. 确保你的应用程序启用了热部署功能。在Spring Boot的开发环境中,可以通过在`pom.xml`文件中添加以下依赖来实现: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency> ``` 2. 确保你的IDE(如IntelliJ IDEAEclipse)已经正确配置了自动编译和重新加载功能。这样当你修改代码后,IDE会自动编译并重新加载应用程序。 3. 清理IDE和构建工具(如Maven或Gradle)生成的临时文件和缓存。有时这些文件可能会导致问题,删除它们可以帮助解决一些奇怪的行为。 4. 如果以上步骤都没有解决问题,你可以尝试手动重启应用程序两次来确保更新生效。这可能是因为某些原因第一次重启时没有完全生效,第二次重启可以让更新生效。 另外,你还可以尝试使用Spring Boot的热部署插件,如Spring Loaded或JRebel,来提高热部署的性能和可靠性。这些插件可以在不重启应用程序的情况下实时加载更新的代码。 希望以上建议能帮助到你!如果你有任何其他问题,请随时提问。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值