1. 定义及分类 
      1.1 定义 
      在web开发环境下,所谓热部署,即在不重新部署webapp的情况下,实时将工程代码改动更新到web容器中(例如tomcat)。其原理可以类比ajax的作用,即局部刷新工程资源文件。从而节省web项目开发工程中,项目编译与重新部署的时间。 
      1.2 分类 
      按配置复杂程度一般分为 前台页面相关资源文件(包括js/Html页面/图片等)的热部署配置与后台逻辑资源文件(class文件等)的热部署。
    2. 热部署细节 
      2.1 前台页面的热部署 
      进入运行环境配置页面 Run->Edit Configurations,进入tomcat的运行配置


      主要在于 On frame deactivation选项配置选择为 Update classes and resourses(当且仅当在Deployment配置页,对应的目的war形式配置为exploded,即开发模式,才会出现该选项),该项配置意思即,在每次页面切换时,自动更新相关classes以及资源文件。 
      到这一步,已经可以实现前台页面资源文件的热部署,即每次修改完js或H页面等,只需刷新浏览器即可看到修改后的效果。 
      2.2 后台热部署 
      这里需要借助JRebel插件。 
      2.2.1 安装JRebel插件 
      进入插件安装页面,File->setting->Plugins,选择在线安装会比较方便,点击Browse Repositories,在搜索框里输入Jrebel,选择IDEA对应插件,点击Install安装。 

      2.2.2 Jrebel插件破解 
      可以去这里下载破解资源文件http://www.cr173.com/soft/191113.html,分别覆盖掉C:\Users\Administrator.IntelliJIdea15\config\plugins\jr-ide-idea\lib\jrebel和C:\Users\Administrator.IntelliJIdea15\config\plugins\jr-ide-idea\lib\jrebel6下的jrebel.jar文件,并将C:\Users\Administrator.jrebel下的全部文件删除,添加破解文件jrebel.lic.到此破解完成。 
      2.2.3 JRebel运行环境配置 
      进入File->setting->JRebel->Advanced,在JRebel agent to use 选项下,选择use jrebel.jar from the path specified 

      3 运行 
      在tomcat deploy配置选项下,选择exploded包(而不是war包)进行测试部署。Run/Debug选择右上角 run/debug with JRebel图标,运行或调试server. 
      至此,启动tomcat之后,无论修改任何文件,都无需额外操作,直接刷新浏览器页面即可看到更新后的操作。

Intellij IDEA热加载更新 IntelliJ IDEA热加载自动更新(Update classes and resources )的更多相关文章

  1. IntelliJ IDEA热加载自动更新(Update classes and resources )

          IntelliJ IDEA默认文件是自动保存的,但是手头有个项目jsp文件改动后,在tomcat中不能立即响应变化.想要jsp文件改动后立刻看到变化,可以通过修改配置来实现.       ...

  2. beego下让swagger按照更新了controllers的接口信息自动更新commentsRouter_controllers.go

    beego下让swagger按照更新了controllers的接口信息自动更新commentsRouter_controllers.go (1)在beego环境中,当更新了controllers目录下 ...

  3. win10彻底禁用自动更新,win10怎样彻底关闭自动更新,永久关闭win10自动更新,win10更新助手

    首先,请广大win10受害者原谅小菜用一个如此长的标题来吸引你们,为了尽最大努力帮助那些饱受win10自动更新折磨的朋友们,小菜不得已出此下策,望见谅! windows 10是一个神奇的操作系统,当你 ...

  4. dedecmsV5.7织梦后台更新文章,发布时间不自动更新

    问题:dedecmsV5.7后台修改文章的时候,会更新发布时间,需求是不自动更新时间,还是当时的发布时间 解决: 1.修改后台文件夹/templets/archives_edit.htm,articl ...

  5. IntelliJ IDEA 自动编译功能无法使用,On 'update' action:选项里面没有update classes and resources这项

    https://zhidao.baidu.com/question/1381265197230335740.html

  6. 想用idea的update classes and resources找不到了,热部署无法使用

    发现为了方便调试页面,想用idea的update classes and resources找不到了,发现需要把deployment选择exploded 的那个war包,才能在service--> ...

  7. intellij idea让资源文件自动更新

    intellij idea默认文件是自动保存的,但是手头有个项目jsp文件改动后,在tomcat中不能立即响应变化.要jsp文件改动后立刻看到变化,有个配置.在idea tomcat 中server的 ...

  8. Intellij Idea 自动更新资源和类

    Run -> Edit Configurations 进入配置页 On update action:当发现更新时的操作   选择Update classes and resources  On ...

  9. [转]Android应用的自动更新

    软件的自动更新一般都与Splash界面绑定在一起, 由于需要维护的软件界面很复杂, 一个Activity中嵌入ViewPager, 并且逻辑比较复杂, 索性重新写一个Activity, 现在的软件都很 ...

随机推荐

  1. 快速排序算法分析--C++版

    快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试喜欢考这个. 快速排序是C.R.A.Hoar ...

  2. Vector容器构造函数

    No1 vector(); No2 vector( const vector& c ); No3 explicit vector( size_type num, const TYPE& ...

  3. 数据抓取分析(python + mongodb)

    分享点干货!!! Python数据抓取分析 编程模块:requests,lxml,pymongo,time,BeautifulSoup 首先获取所有产品的分类网址: def step(): try: ...

  4. [IR] Concept Search and LDA

    重要的是通过实践更深入地了解贝叶斯思想,先浅浅地了解下LDA. From: http://blog.csdn.net/huagong_adu/article/details/7937616/ 传统方法 ...

  5. 实验排队功能实现(JAVA)

    1.功能要求 实验室有固定台数的设备供学生通过网络连接进行实验,一台设备只能同时被一个用户使用,一个用户只能占用一台设备. 下面是一个功能的简图: 2.实现方案 2.1 初始化 在项目启动之后,开始进 ...

  6. V6厂最新V4版本卡地亚蓝气球大号42mm男表|价格报价|

    大家好!为大家带来一款贵族气质的V6厂卡地亚蓝气球大号42mm男表!众所周知卡地亚品牌给人的印象是非常尊贵.奢华的,而且卡地亚蓝气球系列的表款都有着极高的识别度,而且每一款都是极受欢迎的热门腕表,接下 ...

  7. 在vue2.0中使用sass

    第一步:使用sass必须安装下面三个东西 cnpm install node-sass --save //安装node-sass cnpm install sass-loader --save //安 ...

  8. python基础6 迭代器 生成器

    可迭代的:内部含有__iter__方法的数据类型叫可迭代的,也叫迭代对象实现了迭代协议的对象 运用dir()方法来测试一个数据类型是不是可迭代的的. 迭代器协议是指:对象需要提供next方法,它要么返 ...

  9. LNK4098: 默认库“MSVCRT”与其他库的使用冲突

    LNK4098: 默认库"MSVCRT"与其他库的使用冲突 修改的方法:在项目属性中,在连接器-输入选项中,在忽略特定库中添加相应的库,具体添加那些苦请参照下面的表格. 下面的内容 ...

  10. js中的浅复制和深复制

    浅复制:浅复制是复制引用,复制后的引用都是指向同一个对象的实例,彼此之间的操作会互相影响 深复制:深复制不是简单的复制引用,而是在堆中重新分配内存,并且把源对象实例的所有属性都进行新建复制,以保证深复 ...