IDEA-jetty热加载(类文件和静态资源)
一、场景:
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热加载(类文件和静态资源)相关推荐
- idea拦截了html中的静态资源,IDEA配置静态资源热加载操作(Springboot修改静态资源不重启)...
第一步: 修改file->settings->compiler->build project automatically 第二步: 按ctrl+shift+a,搜索Registry双 ...
- 使用forName动态加载类文件
动态加载(Dynamic Loading)是指在程序运行时加载需要的类库文件,对Java程序来说,一般情况下,一个类文件在启动时或首次初始化时会被加载到内存中,而反射则可以在运行时再决定是否需要加载一 ...
- PHP框架自动加载类文件原理
描述:公司项目PHP用作中间转发层(接收http请求,用 socket跟c++做通信),由于代码没有用到框架,这些东西自然就是之前的人自己写的.最近需要对这个底层进行优化,于是便看了下这部分的代码. ...
- vue3:加载本地图片等静态资源
背景 在我们用 vue2 + webpack 的时候,加载图片资源是这样用的: <img :src="require('@/assets/test.png')" /> ...
- springboot基于Elasticsearch6.x版本进行ES同义词、停用词(停止词)插件配置,远程词典热加载及数据库词典热加载总结,es停用词热更新,es同义词热更新
前言:ES版本差异较大,建议跨版本的同学,可以先了解一下版本区别,建议不要跨版本使用插件或者进行项目调试. 本总结主要基于6.x版本的6.5.1(6.2.2实测可用),分词器为IK,下载地址:http ...
- java热加载_java--热加载
1. 什么是热加载 热加载是指可以在不重启服务的情况下让更改的代码生效,热加载可以显著的提升开发以及调试的效率,它是基于 Java 的类加载器实现的,但是由于热加载的不安全性,一般不会用于正式的生产环 ...
- JVM加载class文件的原理机制
阅读目录 1.JVM 简介 2.JVM 的组成部分 3.JVM加载class文件的原理机制 在面试java工程师的时候,这道题经常被问到,故需特别注意. 回到顶部 1.JVM 简介 JVM 是我们Ja ...
- java虚拟机及加载class文件的原理机制
2019独角兽企业重金招聘Python工程师标准>>> (点击获取更多资料的下载) java 虚拟机 2007年4月23日,14:18:00 | chenweicai ...
- 描述一下JVM加载class文件的原理机制
Java中的所有类,都需要由类加载器装载到JVM中才能运行.类加载器本身也是一个类,而它的工作就是把class文件从硬盘读取到内存中.在写程序的时候,我们几乎不需要关心类的加载,因为这些都是隐式装载的 ...
最新文章
- 如何使用jQuery获取焦点元素?
- 量子位「MEET 2022智能未来大会」启动,邀你一起见证AI价值
- 一个被 CEO 逼疯的技术负责人的检讨书
- 圆形百分比_还有半圆形的饼图!怎么做出来的?
- 博弈论 斯坦福game theory stanford week 1.1
- 面试题之发散思维能力:如何用非常规方法求1+2+···+n
- 【机器视觉】 HDevelop语言基础(一)-基本类型和常量
- oracle自带split函数_Pandas 基本使用(三) — DataFrame.to_dict() 函数基本使用
- layui移动端适配_web前端-移动端适配方案
- Go语言中使用SQLite数据库
- 微波网络归一化转移矩阵[a]导出散射矩阵[S]
- Oracle RAC系列之:ASM基本操作维护
- EPON联通网关超级管理员密码获取办法
- CDH 09.freeIPA安装和配置
- java pdf转jpg_java pdf转换jpg
- NB-IoT对接电信物联网开放平台
- 为什么Pod突然就不见了?
- LaMDA 是有感觉的吗?
- 本体(Ontology)综述
- DDR存储原理,AC/DC判别标准深度解析(官方手册整理)
热门文章
- LeetCode 58 Spiral Matrix II
- 卖程序的小女孩(转)
- InfoPath2010表单-IE浏览器2个“微型内嵌工具”的使用和介绍
- keepalived安装实录
- 常见错误:未能加载文件或程序集
- 智能实验室-杀马(Defendio) 4.27.0.951
- Golang Web入门(4):如何设计API
- Redis面试常问3 如何实现分布式锁 记住Redis的原子性
- java下载进度怎样判断_Java获得下载进度
- 旋转角度_LG推出新款显示器,可多角度旋转