On Update action/On frame deactivation

已剪辑自: https://blog.csdn.net/w15321271041/article/details/80597962

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

首先,我说明一下,什么是"update"

网上很多人说是ctrl+f9,也就是项目编译,这是错的。真正的update看下图,idea2018.2版本

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

场景:一般服务器(比如tomcat,jboss等)启动以后,我们还需要进一步修改java代码,或者是jsp代码。一般来说,改完重启以后才会生效。但如果配置了服务器的热部署,就可以改完代码后立即生效,而不是重启服务器再生效。这样就会节省大量时间!

目前有两个选项:

On Update action : 顾名思义,当代码改变的时候,需要IDEA为你做什么;

On Frame deactivation : 当失去焦点(比如你最小化了IDEA窗口),需要IDEA为你做什么。

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

On Update action 里面有四个选项(一般选Update classes and resources):

-Update resources :如果发现有更新,而且更新的是资源文件(*.jsp,*.xml等,不包括java文件),就会立刻生效

-Update classes and resources :
如果发现有更新,这个是同时包含java文件和资源文件的,就会立刻生效

这里需要注意一下:在运行模式下,修改java文件时不会立刻生效的;而debug模式下,修改java文件时可以立刻生效的。当然,两种运行模式下,修改resources资源文件都是可以立刻生效的。

-Redploy :
重新部署,只是把原来的war删掉,不重启服务器

-Restart :
重启服务器

On Frame deactivation:

-Do nothing : 不做任何事
(一般推荐这个,因为失去焦点的几率太大)

-Update resources : 失去焦点后,修改的resources文件都会立刻生效

-Update classes and resources :
失去焦点后,修改的java ,resources文件都会立刻生效(与On update action中的Update classes and resources一样,也是运行模式修改的java文件不会生效,debug模式修改的java文件会立刻生效)

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

另外,如果Artifact是war包形式的话,On Update action与On frame deactivation中的选项也是不一样的:没有Update resources和 Update classes and resources这种选项,取而代之的是Hot Swap Classes选项,本质的意思是一样的。

总结:

这样设置是最佳的选择

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

On Update action,设置为 update classes and resources -----

运行模式下(jsp 立即生效,java 需要update才可生效)

调试模式下(java、jsp 都立即生效)

原文地址:https://www.cnblogs.com/alpha-idea/p/9528846.html

时间: 2024-08-29 12:35:23

On Update action/On frame deactivation的相关文章

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

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

(推荐)不用archetype创建maven项目

已剪辑自: https://www.cnblogs.com/wql025/p/5215570.html 说明 创建Maven项目的方式:手工创建 好处:项目干净整洁,java和resource目录,不需要自己重新构建.pom文件干净,没有乱七八糟的东西.不会再网络不好,或者各种问题的时候,出现archetype加载半天出不来的情况. 更为关键的是用这种方式创建的maven项目的web.xml的版本可自己手工选择:(不会再出现之前的不支持EL什么的坑了.) 创建一个新Maven项目 new 一个p

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

IntelliJ IDEA默认文件是自动保存的,但是手头有个项目jsp文件改动后,在tomcat中不能立即响应变化.想要jsp文件改动后立刻看到变化,可以通过修改配置来实现. 在IDEA tomcat 中server的配置里,有个On frame deactivation,选择Update classes and resources.另外有个配置on update action,就是手动操作的时候采取什么动作,可以重启服务器,也可以像上面一样更新类和资源文件,我选的是Update classes

Delete,Update与LEFT Join

UPDATE:UPDATE A SET ApproverID=NULL FROM [SH_MaterialApplyBuyBill] A LEFT JOIN [SH_MaterialApplyBuyBillDetail] B ON A.ID=B.[MaterialApplyBuyBillID]WHERE A.id=125 AND @InDetailCount=0DELETE:DELETE A FROM [SH_ClosingBalance] A LEFT JOIN [SH_StoreHouse]

Struts2学习笔记(三)——Action详解

Action是用于处理请求操作的,它是由StrutsPrepareAndExceuteFilter分发过来的. 1.Action的创建方式 1) POJO类(PlainOldJavaObjects简单的Java对象),不需要继承任何父类,实现任何接口 1 public class TestAction { 2 public String execute() { 3 return "success"; 4 } 5 } 这种方式是Struts2框架通过反射来实现的,步骤: struts2框

Struts2(四)Action二配置

一.method参数 action package com.pb.web.action; public class HourseAction { public String add(){ System.out.println("执行添加操作!"); return "success"; } public String update(){ System.out.println("执行更新操作!"); return "success"

文件上传action

@RequestMapping(value = "/update.action", method = RequestMethod.POST) public @ResponseBody Result<AppJobProduct> update(HttpServletRequest request,@RequestParam(value = "upload", required = false) MultipartFile file,@ModelAttrib

JAVAWEB开发之Struts2详解(一)——Struts2框架介绍与快速入门、流程分析与工具配置以及Struts2的配置以及Action和Result的详细使用

Struts2框架介绍 三大框架:是企业主流JavaEE开发的一套架构.Struts2 + Spring + Hibernate 什么是框架?为什么要学习框架? 框架是实现部分功能的代码(半成品),使用框架简化企业级软件开发. Struts2与MVC? Struts是一款优秀的MVC框架 MVC:是一种思想,是一种模式,将软件分为Model模型.View视图.Controller控制器 JAVAEE软件三层架构:web层(表现层).业务逻辑层.数据持久层(Sun提供javaEE开发规范) Jav