一、场景:

1、实际项目开发、调试阶段,重新打包部署影响效率,热部署、热加载可以提高效率;

2、IDEA在running/debugging状态下没有自动编译的选项;

二、Jetty的maven插件:

<!-- jetty插件 -->
<plugin><groupId>org.mortbay.jetty</groupId><artifactId>maven-jetty-plugin</artifactId><version>6.1.5</version><configuration><scanIntervalSeconds>2</scanIntervalSeconds><!-- 多少秒进行一次热部署,设置为0不会热加载 --><connectors><connector implementation="org.mortbay.jetty.nio.SelectChannelConnector"><port>8099</port></connector></connectors><contextPath>/lalalala</contextPath></configuration>
</plugin>

三、IDEA在debug状态下,进行热加载。

1、IDEA不支持在运行时自动进行重新编译,需要手动触发;

2、[Main menu]->[Build]->[Recompile ...]/[Build Project],重新编译单独的类/重新编译项目,有对应的快捷键设置command+上档键+F9/command+F9。

3、但是如果我们不想按这么复杂的按键,如果只是想保存文件的时候自动编译呢,目前只能通过录制宏的方案解决。

四、宏录制(转载其他博客)

下面是我的操作流程:

首先点击菜单开始录制宏

点击之后这时会在右下角出现一个绿色的小框框和状态条

这时我们就可以开始录制啦,先按下快捷键 ctrl+s 然后按下快捷键 ctrl+F9

2个操作做完之后我们可以停止录制保存宏啦,你既可以点击右下角的红色按钮 也可以回到菜单点击  stop Macro  Recording
  

停止录制之后我们要给他一个名称,让他保存到配置里面去

就像这样,我给的是 auto make,或者 可以是 save and make 这样符合我们的操作一点

点击OK保存后,我们可以到设置面板的快捷键设置里面(keymap)设置宏的快捷键

在keymap设置中,我们选择Macros设置,也就是宏设置,点击展开后,你可以看到我们刚刚录制的宏"auto make" ,这时右键单机选择 "add keyboard Shortcut" 为我们的宏设置快捷键

我们按下Ctrl+S设置快捷键,这时下面会出现一个红色的警告,告诉我们这个快捷键已经被save All这个操作占用了,但是不用管,直接点OK保存

保存时会提示你删除占用的改快捷的操作设置才能设置快捷键,直接点击"Remove"删除,然后就能保存成功了。

五、宏的改进版:

1、按步骤四录制的宏只对java文件启作用,但是对于资源文件并未起作用。因此在录制宏的时候需要多做一步,在资源页面执行快捷键command+上档键+F9,就可以热加载资源文件了。

参考文档:

1、关于IDEA不能实时编译的一个临时解决办法。。。。

IDEA-jetty热加载(类文件和静态资源)相关推荐

  1. idea拦截了html中的静态资源,IDEA配置静态资源热加载操作(Springboot修改静态资源不重启)...

    第一步: 修改file->settings->compiler->build project automatically 第二步: 按ctrl+shift+a,搜索Registry双 ...

  2. 使用forName动态加载类文件

    动态加载(Dynamic Loading)是指在程序运行时加载需要的类库文件,对Java程序来说,一般情况下,一个类文件在启动时或首次初始化时会被加载到内存中,而反射则可以在运行时再决定是否需要加载一 ...

  3. PHP框架自动加载类文件原理

    描述:公司项目PHP用作中间转发层(接收http请求,用 socket跟c++做通信),由于代码没有用到框架,这些东西自然就是之前的人自己写的.最近需要对这个底层进行优化,于是便看了下这部分的代码. ...

  4. vue3:加载本地图片等静态资源

    背景 在我们用 vue2 + webpack 的时候,加载图片资源是这样用的: <img :src="require('@/assets/test.png')" /> ...

  5. springboot基于Elasticsearch6.x版本进行ES同义词、停用词(停止词)插件配置,远程词典热加载及数据库词典热加载总结,es停用词热更新,es同义词热更新

    前言:ES版本差异较大,建议跨版本的同学,可以先了解一下版本区别,建议不要跨版本使用插件或者进行项目调试. 本总结主要基于6.x版本的6.5.1(6.2.2实测可用),分词器为IK,下载地址:http ...

  6. java热加载_java--热加载

    1. 什么是热加载 热加载是指可以在不重启服务的情况下让更改的代码生效,热加载可以显著的提升开发以及调试的效率,它是基于 Java 的类加载器实现的,但是由于热加载的不安全性,一般不会用于正式的生产环 ...

  7. JVM加载class文件的原理机制

    阅读目录 1.JVM 简介 2.JVM 的组成部分 3.JVM加载class文件的原理机制 在面试java工程师的时候,这道题经常被问到,故需特别注意. 回到顶部 1.JVM 简介 JVM 是我们Ja ...

  8. java虚拟机及加载class文件的原理机制

    2019独角兽企业重金招聘Python工程师标准>>> (点击获取更多资料的下载) java 虚拟机 ‎2007‎年‎4‎月‎23‎日,‏‎14:18:00 | chenweicai ...

  9. 描述一下JVM加载class文件的原理机制

    Java中的所有类,都需要由类加载器装载到JVM中才能运行.类加载器本身也是一个类,而它的工作就是把class文件从硬盘读取到内存中.在写程序的时候,我们几乎不需要关心类的加载,因为这些都是隐式装载的 ...

最新文章

  1. 如何使用jQuery获取焦点元素?
  2. 量子位「MEET 2022智能未来大会」启动,邀你一起见证AI价值
  3. 一个被 CEO 逼疯的技术负责人的检讨书
  4. 圆形百分比_还有半圆形的饼图!怎么做出来的?
  5. 博弈论 斯坦福game theory stanford week 1.1
  6. 面试题之发散思维能力:如何用非常规方法求1+2+···+n
  7. 【机器视觉】 HDevelop语言基础(一)-基本类型和常量
  8. oracle自带split函数_Pandas 基本使用(三) — DataFrame.to_dict() 函数基本使用
  9. layui移动端适配_web前端-移动端适配方案
  10. Go语言中使用SQLite数据库
  11. 微波网络归一化转移矩阵[a]导出散射矩阵[S]
  12. Oracle RAC系列之:ASM基本操作维护
  13. EPON联通网关超级管理员密码获取办法
  14. CDH 09.freeIPA安装和配置
  15. java pdf转jpg_java pdf转换jpg
  16. NB-IoT对接电信物联网开放平台
  17. 为什么Pod突然就不见了?
  18. LaMDA 是有感觉的吗?
  19. 本体(Ontology)综述
  20. DDR存储原理,AC/DC判别标准深度解析(官方手册整理)

热门文章

  1. LeetCode 58 Spiral Matrix II
  2. 卖程序的小女孩(转)
  3. InfoPath2010表单-IE浏览器2个“微型内嵌工具”的使用和介绍
  4. keepalived安装实录
  5. 常见错误:未能加载文件或程序集
  6. 智能实验室-杀马(Defendio) 4.27.0.951
  7. Golang Web入门(4):如何设计API
  8. Redis面试常问3 如何实现分布式锁 记住Redis的原子性
  9. java下载进度怎样判断_Java获得下载进度
  10. 旋转角度_LG推出新款显示器,可多角度旋转