IntelliJ IDEA + Tomcat ;On Upate Action 与 On Frame Deactivation

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目录里:

时间: 2025-01-02 08:26:13

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

IntelliJ IDEA Tomcat配置 详解

1> 进入 Edit Configurations 2> 点击 + ,选择 Tomcat 服务器,如果是本地Tomcat 选择 Local 3> Tomcat Server -> Unnamed -> Server -> Application server 的 Configuration ,找到本地 Tomcat 服务器,再点击 OK按钮 4> 1 所示,我们可以切换随时为项目切换不同的容器 2 所示,我们可以指定给运行的容器设置 VM 参数 3 所示,这分别是

IntelliJ IDEA2017 + Tomcat 设置热部署

1.点击idea中tomcat设置 2.点击deployment查看Deploy at the server startup 中tomcat每次所运行的包是 xxxx:war 还是其他,如果是xxxx:war包,请更换 3.点击旁边绿色加号,选择 xxxx:war exploded ,然后将 xxxx:war 点击红色删除掉 4.然后在server中 将 "On Update action"."On frame deactivation" 都选择 update cl

IntelliJ IDEA2016 + tomcat 即改即生效 实现热部署

1.点击idea中tomcat设置 2.点击deployment查看Deploy at the server startup 中tomcat每次所运行的包是 xxxx:war 还是其他,如果是xxxx:war包,请更换.点击旁边绿色加号,选择 xxxx:war exploded ,然后将 xxxx:war 点击红色删除掉 3.然后在server中 将 "On Update action"."On frame deactivation" 都选择 update clas

On Update action/On frame deactivation

已剪辑自: https://blog.csdn.net/w15321271041/article/details/80597962 --------------------------------------------------------------------------------------------------- 首先,我说明一下,什么是"update" 网上很多人说是ctrl+f9,也就是项目编译,这是错的.真正的update看下图,idea2018.2版本 ----

Intellij Idea tomcat启动后改动文件自动加载(图文)

一.背景 Intellij的强大毋庸置疑,随着Android Studio的出现到如今,包括博主在内,越来越多的朋友从Eclipse转到了Intellij. 可是在刚上手一款IDE集成开发工具时,由于环境的不熟悉常常会在使用中伴随着种种恼人的情况出现. 二.目的 解决内置tomcat插件服务启动后,修改类.资源时无法自动加载的问题. 三.解决办法 1. 打开右上角的Edit Configuration进入Tomcat配置选项页面 2. 将On frame  deactivation选项更改为 U

论文阅读笔记——End-to-end Learning of Action Detection from Frame Glimpses in Videos

论文题目:End-to-end Learning of Action Detection from Frame Glimpses in Videos 出处:arXiv,目前尚未有正式出版 作者及单位: Serena Yeung1, Olga Russakovsky1,2, Greg Mori3, Li Fei-Fei1 1Stanford University, 2Carnegie Mellon University, 3Simon Fraser University 相关工作:视频中的行为检测

intellij idea on update action\on frame deactivation ||Servlet 页面不同步问题

当修改servlet源码时,对应的servlet页面即使刷新也不会改变,,,很烦躁 因为xx.java需要编译成xx.class后,再部署到服务器上才可以运行,所以问题就是服务器里的类文件并没有更新. 所以我想设置Intellij idea 可以自动更新源码 on  update action 是指手动更新 这个刷新键 on  frame deaction 是指你切换到其他程序上去时,比如浏览器 update sources  更新静态资源,如html.javascript.css update

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

前期准备:安装intellij idea.下载tomcat.下载maven(注意我用的是tomcat6.maven 3.2.1.jdk1.6.0_45,之前maven用的3.5结果报错,搞了好久,建议小伙伴们用稳定版本) intellij idea官方网站:https://www.jetbrains.com/idea/download/#section=linux(注意要下载Ultimate版本,不然里面的东西不全,比如tomcat插件...) intellij idea破解:http://bl

Intellij IDEA + Tomcat 出现 HTTP status 404错误的解决办法

最近要做POC,接了个老项目改,使用war exploded部署到本机的Tomcat(8.5版) 通过Intellij IDEA启动Tomcat的时候发现系统的登录页面出现HTTP-status-404错误,这时直接在浏览器中打开http://localhost:8080则能打开Tomcat的欢迎页面,说明Tomcat起来了,但是没有正确加载webapps目录下的东西. 更奇怪的是,通过Tomcat的bin目录下的启动脚本就可以正常启动,无论是双击startup.bat还是在该目录的cmd下使用