Idea配置热部署

偏执的太偏执、 2023-01-08 10:25 212阅读 0赞

Idea配置热部署

一、概念

热部署就是正在运行状态的应用,修改了他的源码之后,在不重新启动的情况下能够自动把增量内容编译并部署到服务器上,使得修改立即生效。热部署为了解决的问题有两个, 一是在开发的时候,修改代码后不需要重启应用就能看到效果,大大提升开发效率;二是生产上运行的程序,可以在不停止运行的情况下进行升级,不影响用户使用。

二、Idea开启热部署

本篇文章主要是介绍Idea这款开发工具的热部署,而用Idea的人大多数都是用来开发java程序,当前流行的java程序主要有两种,第一种是传统的Web应用,依赖Tomcat这种web容器运行;第二种是Spring boot程序, 内嵌了运行环境。

2.1 Tomcat热部署

a). 在顶部找到程序运行操作栏, 点击Edit Configurations

2019081716211020.png

b). 点击你要配置的tomcat,点击deployment,点击”+“

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzE2MTQ4MTM3_size_16_color_FFFFFF_t_70

c). 然后选择你要部署的war包,热部署必须要选择带有exploded的war包

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzE2MTQ4MTM3_size_16_color_FFFFFF_t_70 1

d). 再切换回Server,按照下图标注配置

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzE2MTQ4MTM3_size_16_color_FFFFFF_t_70 2

配置完后点击ok即可启动你的tomcat,然后改一下jsp、java文件实验热部署配置是否成功。

最后提示一下,Idea热部署并非绝对实时, 还是会有延时的,假如你手速快的话可能会出现改了并没有马上生效。所以此时不要怀疑热部署没有配置成功,稍微等一会你会看到开发工具左下角会有一个class reload的提示,出现这个提示才说明已经热部署完成了。

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzE2MTQ4MTM3_size_16_color_FFFFFF_t_70 3

当然, 如果你想马上生效的话,可以点击下图标标注的按钮,或者使用快捷键Ctrl + F10

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzE2MTQ4MTM3_size_16_color_FFFFFF_t_70 4

2.2 Spring boot程序热部署

a). 在顶部找到程序运行操作栏, 点击Edit Configurations,点击要配置的程序,按照下图标注地方配置

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzE2MTQ4MTM3_size_16_color_FFFFFF_t_70 5

配置完后点击ok即可启动你的程序,java文件实验热部署配置是否成功。

但配置到这里只是会使java文件和其他静态资源热部署成功,但如果您的Spring boot程序是web程序,并且有jsp或Thymeleaf等页面模板引擎,则还需要在Spring boot的配置文件中配置。

如果是jsp, 在application.yml文件下加入配置

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzE2MTQ4MTM3_size_16_color_FFFFFF_t_70 6

如果是**Thymeleaf, 则在application.yml文件加入spring:thymeleaf:cache: false 配置**

Spring boot程序除了通过上述步奏实现热部署,还可以通过给程序添加spring-boot-devtools依赖实现。

  1. <!-- 热部署 -->
  2. <dependency>
  3. <groupId>org.springframework.boot</groupId>
  4. <artifactId>spring-boot-devtools</artifactId>
  5. <version>2.0.4.RELEASE</version>
  6. <!-- 启用 -->
  7. <optional>true</optional>
  8. </dependency>

三、其他配置

如果你通过上面的步骤还没实现想要的热部署效果,可以继续做以下两个配置

3.1 开启Java Compiler的自动build

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzE2MTQ4MTM3_size_16_color_FFFFFF_t_70 7

3.2 按住**ctrl + shift +alt + / **选择Registry,按照下图标注配置

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzE2MTQ4MTM3_size_16_color_FFFFFF_t_70 8

发表评论

表情:
评论列表 (有 0 条评论,212人围观)

还没有评论,来说两句吧...

相关阅读

    相关 IDEA配置支持页面部署

    > 好的热部署让开发调试事半功倍,这样的“神技能”怎么能错过呢, 使用过IDEA的童鞋赶紧进来撸一把吧。 学习目标  快速学会在项目中使用热部署插件运行项目,提高开发效

    相关 Idea配置部署

    Idea配置热部署 一、概念 热部署就是正在运行状态的应用,修改了他的源码之后,在不重新启动的情况下能够自动把增量内容编译并部署到服务器上,使得修改立即生效。热部署为了

    相关 IDEA部署配置

    使用一个Java Web项目的时候,经常要重启Tomcat或者其他容器,有个方法是配置热部署,不过个人不太喜欢,因为我代码还没敲完呢,它一旦发生有一点改变,哪怕是个空格都给你重

    相关 IDEA部署

    通过`Ctrl + F10`这个快捷键可以实现启动过程后修改的Java文件自动`Refresh`,但不是每次都好使。为什么呢?总结后发现这个热部署只针对于修改方法内的代码时才会