zoukankan      html  css  js  c++  java
  • Idea配置热部署

    一、概念

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

     

    二、Idea开启热部署

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

     

    2.1 Tomcat热部署

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

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

     

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

     

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

     

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

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

     

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

     

    2.2 Spring boot程序热部署

     

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

     

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

     

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

     

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

     

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

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

        <!-- 热部署 -->
        <dependency>
            
            <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-devtools</artifactId>
            <version>2.0.4.RELEASE</version>
            
            <!-- 启用 -->
            <optional>true</optional>
        </dependency>

     

    三、其他配置

     

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

     

    3.1 开启Java Compiler的自动build

     

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

  • 相关阅读:
    OpenJDK源码研究笔记(十二):JDBC中的元数据,数据库元数据(DatabaseMetaData),参数元数据(ParameterMetaData),结果集元数据(ResultSetMetaDa
    Java实现 LeetCode 257 二叉树的所有路径
    Java实现 LeetCode 257 二叉树的所有路径
    Java实现 LeetCode 257 二叉树的所有路径
    Java实现 LeetCode 242 有效的字母异位词
    Java实现 LeetCode 242 有效的字母异位词
    Java实现 LeetCode 242 有效的字母异位词
    Java实现 LeetCode 241 为运算表达式设计优先级
    Java实现 LeetCode 241 为运算表达式设计优先级
    Java实现 LeetCode 241 为运算表达式设计优先级
  • 原文地址:https://www.cnblogs.com/roboot/p/14490845.html
Copyright © 2011-2022 走看看