IDE Idea 自动编译 与 On Upate Action On Frame Deactivation 的配置
Posted 猎人在吃肉
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IDE Idea 自动编译 与 On Upate Action On Frame Deactivation 的配置相关的知识,希望对你有一定的参考价值。
文章目录
On Upate Action
与 On Frame Deactivation
这两个选项的设置,依赖于 项目的部署方式 是 exploded 。
1、On Update action 的含义
首先来看 On Update action
相关的解释,从字面上理解 ,就是 手工触发 update 动作的时候 做什么。
如上图所示,有4个选项。
1、Update resources ---- 更新静态的资源,比如 html,js,css等 运行模式和调试模式都是立即生效。
2、Update classes and resources ---- 更新 java,jsp 和 静态资源。
- java 修改后,会被编译成.class 然后覆盖到 target/kao 文件夹下,IDE 调试模式的情况下,立即生效。IDE运行模式下,不立即生效,需要 redeployed 才可生效。
- jsp 修改后,再次被访问的时候,会自动更新,重新编译成 .java---->.class 保存在t omcat的 work 目录下。由于是访问时才检测是否修改,是否需要重新编译,所以 IDE 运行模式 和 IDE调试模式下,都是立即生效。刷新下页面就可);
3、Redeployed ----- 重新部署,发布到tomcat里,不重启 tomcat,而是把原来的删掉,然后重新发布;
4、Restart server ----- 重启tomcat
2、On frame deactivation 的含义
再来看 On frame deactivation ,意思是 IDE 失活时 做什么,就是说 IDE 失去焦点时 做什么。
有3个选项:
- Do nothing --------- 什么都不做
- Update resources ---- 更新静态的资源,比如html,js,css等 运行模式和调试模式都是立即生效。
- Update classes and resources ---- 更新java,jsp和静态资源 同上。
3、测试 On Update Action
静态资源不用测试了。
测试 On Update Action 的 update classes and resources
选项 在 debug模式 与 运行模式 下的差别。
3.1、 On Update Action 运行模式
运行模式 下,jsp是 update classes and resources 是立即生效的,但是.java文件修改后 并不会立即生效。如下图所示。
3.2、 On Update Action debug 调试模式
debug 调试模式 下,jsp 和 java 文件修改 都会立即生效。如下图所示。
4、测试 On frame deactivation
测试 On frame deactivation , 即IDE 失去焦点时自动做一些事, 我们测试 update classes and resources
选项 ,下面以 调试模式 为例,运行模式除了java 修改不会自动生效,其它一致。
5、总结
官方推荐的配置,如下图所示:
On Update action 选择 update classes and resources
选项时,
当处于 debug 模式 下(java、jsp 都 立即生效 )
当处于 运行模式下(jsp 立即生效,java 需要 redeploy 才可生效) 。
On frame deactivation , 当 IDE 失去焦点的情况下 自动触发,而开发过程中 可能需要查询资料 或 与人聊天 或干其它事,IDE需要不停的失去焦点。每次失去焦点就自动触发 update ,CPU一下子 费很多,电脑瞬间变慢,所以没有必要这样,设置为Do nothing
最好,官方也默认的是 Do nothing
。
我推荐的配置 ,如下图所示:
这样,静态文件自动更新,而系统无需重启 。 java文件则需要手动更新。这是一个折中的方式。
以上是关于IDE Idea 自动编译 与 On Upate Action On Frame Deactivation 的配置的主要内容,如果未能解决你的问题,请参考以下文章
Idea--Tomcate配置中的On Upate Action 与 On Frame Deactivation
IntelliJ IDEA + Tomcat ;On Upate Action 与 On Frame Deactivation
IntelliJ IDEA 自动编译功能无法使用,On 'update' action:选项里面没有update classes and resources这项