On Upate Action 与 On Frame Deactivation  这两个选项的设置,依赖于 项目的部署方式 是war包 还是 exploded ,看下面的gif:

这里实在是太灵活了,如果要讲 太费时间了,我们只讲exploded模式下的设置,因为这个我们用的最多,开发模式,开发完成后 直接用maven的 package命令打包就行了,所以用的最多的 也是最灵活的就是exploded 开发模式。exploded模式 实际运行的就是target目录下的kao文件夹。

首先来看 on update action 相关的解释,从字面上理解 就是 手工触发 update 动作的时候 做什么:

update resources ---- 更新静态的资源,比如html,js,css等 运行模式和调试模式都是立即生效。

update classes and resources ---- 更新java,jsp和静态资源(

1. java 修改后,会被编译成.class 然后覆盖到target/kao文件夹下,IDE调试模式的情况下,立即生效。IDE运行模式下,不立即生效,需要redeployed才可生效。

2. jsp修改后,再次被访问的时候,会自动更新,重新编译成.java---->.class 保存在tomcat的work目录下。由于是访问时才检测是否修改,是否需要重新编译,所以 IDE 运行模式 和 IDE调试模式下,都是立即生效。刷新下页面就可);

redeployed ----- 重新部署,发布到tomcat里,不重启tomcat,而是把原来的删掉,然后重新发布;

restart server ----- 重启tomcat

------------------------------------------------------------------------------------------------------------------------

再来看on frame deactivation ,意思是 IDE 失活时 做什么,就是说 IDE 失去焦点时 做什么。

Do nothing --------- 什么都不做

update resources ---- 更新静态的资源,比如html,js,css等 运行模式和调试模式都是立即生效。

update classes and resources ---- 更新java,jsp和静态资源 同上。

验证上方的结论看如下GIF:

静态资源不用测试了,测试 On Update Action 的 (update classes and resources)在debug模式 与 运行模式下的差别。

1.运行模式下,jsp是 update classes and resources 是立即生效的,但是.java文件修改后 并不会立即生效。

 2.debug调试模式下,jsp和java文件修改 都会立即生效:

3.测试on frame deactivation 即IDE 失去焦点时自动做一些事, 我们测试 让其update classes and resources ,以调试模式为例,运行模式除了java 修改不会自动生效,其它一致;

总结,这样设置是最佳的选择:

因为On frame deactivation IDE失去焦点的情况下 自动触发,而开发过程中 可能需要查询资料 或 与人聊天 或干其它事,IDE需要不停的失去焦点。每次失去焦点就自动触发 update ,CPU一下子 费很多,电脑瞬间变慢,所以没有必要这样,设置为Do nothing 最好,官方也默认的是 Do nothing。

On Update action ------- update classes and resources ----- 运行模式下(jsp 立即生效,java 需要redeploy才可生效)

On Update action ------- update classes and resources ----- 调试模式下(java、jsp 都立即生效)

 =================完结了!!!!!!!!这块非常灵活,这篇博客研究了一天 才写出来,很多时候 不知道 如何组织 如何写,才能更加 简单明了。

关于一些小知识说明:

C:\Users\del-berlin\.IntelliJIdea2017.1\system\tomcat\Unnamed_kao_4\work\Catalina\localhost\kao\org\apache\jsp ,jsp再第一次被访问时,会被编译成java 然后再被编译成class ,然后放到 tomcat的work目录下,但是IntelliJ 里,由于部署方式的原因 实际上是保存到了 上面的目录里,而实际的项目运行中是保存到了tomcat的work目录里:

IntelliJ IDEA + Tomcat ;On Upate Action 与 On Frame Deactivation的更多相关文章

  1. idea中tomcat的On Upate Action 与 On Frame Deactivation配置

    On Upate Action 与 On Frame Deactivation  这两个选项的设置,依赖于项目的部署方式 是war包 还是 exploded , 只讲exploded模式下的设置,因为 ...

  2. linux下的Java开发 intellij idea+tomcat+maven

    前期准备:安装intellij idea.下载tomcat.下载maven(注意我用的是tomcat6.maven 3.2.1.jdk1.6.0_45,之前maven用的3.5结果报错,搞了好久,建议 ...

  3. IntelliJ IDEA tomcat 热部署

    1.点击idea中tomcat设置 2.点击Deployment查看Deploy at the server startup 中tomcat运行的包是 xxxx:war 还是其他,如果是xxx:war ...

  4. IntelliJ IDEA2017 + Tomcat 设置热部署

    1.点击idea中tomcat设置 2.点击deployment查看Deploy at the server startup 中tomcat每次所运行的包是 xxxx:war 还是其他,如果是xxxx ...

  5. IDEA 服务器热部署详解(On Update action/On frame deactivation)

    https://blog.csdn.net/w15321271041/article/details/80597962 场景:一般服务器(比如tomcat,jboss等)启动以后,我们还需要进一步修改 ...

  6. IntelliJ和tomcat中的目录结构

    IntelliJ和tomcat中的目录结构   IntelliJ的官网帮助中心:http://www.jetbrains.com/idea/webhelp/getting-help.html   pr ...

  7. Intellij部署Tomcat问题

    Intellij部署Tomcat问题 Warnings:No artifacts marked for development 切换到Development标签页 选择+按钮,并选择Artifacts ...

  8. IntelliJ+AntBuild+Tomcat实现Maven站点的热部署

    这段时间要研究WebGL技术,做一下三维建模项目,涉及到较多的前端编码.eclipse编译器那令人着急的编码提示功能,以及丑恶的界面对项目的开展造成了一定的阻碍.为解决这个问题,转向IntelliJ ...

  9. intellij idea tomcat 启动不生成war包

    intellij idea tomcat 启动不生成war包 想把项目打包成war包做测试,但是按照之前的方法居然没有成功导出war包,犯了很低级的错误,特此记录. (1)首先在Project Str ...

随机推荐

  1. Android中EditText显示明文与密码的两种方式

    效果图如下所述: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:and ...

  2. 图像处理之CSC色彩转换

    1 YUV域介绍 根据三基色原理,任意一种色光F都可以用不同分量的R.G.B三色相加混合而成,即F = r [ R ] + g [ G ] + b [ B ],其中r.g.b分别为三基色参与混合的系数 ...

  3. VS生成事件执行XCOPY时出现Invalid num of parameters的解决方案

    最近想偷懒 想把项目生成的dll全部自动汇集到一个文件夹下 于是乎就动用了VS的生成后事件 在执行Xcopy的时候碰到了点问题 Invalid number of parameters 挺奇怪的,在公 ...

  4. tp 事务处理

    tp的事务开启是非常简单的, 只需要M()->startTrans();//开启事务,M()可以是M('xxx') $m->rollback();//事务回滚 $m->commit( ...

  5. 转:CocoaPods pod install/pod update更新慢的问题

    最近使用CocoaPods来添加第三方类库,无论是执行pod install还是pod update都卡在了Analyzing dependencies不动 原因在于当执行以上两个命令的时候会升级Co ...

  6. 博世传感器调试笔记(二)加速度及陀螺仪传感器BMI160

    一.功能参数简介bosch Sensortec公司推出的最新BMI160惯性测量单元将最顶尖的16位3轴超低重力加速度计和超低功耗3轴陀螺仪集成于单一封装.MI160采用14管脚LGA封装,尺寸为2. ...

  7. Spring 中出现相同名称的 bean 的处理机制

    小总结: 如果启用组件扫描,bean名称不同时,Spring将尝试创建一个bean,即使该类的bean已经在spring-config.xml中定义了. 但是,如果在spring配置文件中定义的bea ...

  8. Java并发编程原理与实战十五:手动实现一个可重入锁

     package com.roocon.thread.ta1; public class Sequence { private MyLock lock = new MyLock(); private ...

  9. 手把手教你在.NET中创建Web服务

    最近发现在.NET平台下使用Web服务还是很简单的.下面举个在.NET平台下创建Web服务的简单例子.首先用Visul Studio .Net创建一个C# 项目Asp.Net Web服务程序,源代码如 ...

  10. 9、StringBuffer和StringBuilder

    StringBuffer简介 StringBuffer是一个字符串缓冲区,如果需要频繁的对字符串进行拼接时,建议使用StringBuffer.工作原理StringBuffer的底层是char数组,如果 ...