[{"createTime":1735734952000,"id":1,"img":"hwy_ms_500_252.jpeg","link":"https://activity.huaweicloud.com/cps.html?fromacct=261f35b6-af54-4511-a2ca-910fa15905d1&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905","name":"华为云秒杀","status":9,"txt":"华为云38元秒杀","type":1,"updateTime":1735747411000,"userId":3},{"createTime":1736173885000,"id":2,"img":"txy_480_300.png","link":"https://cloud.tencent.com/act/cps/redirect?redirect=1077&cps_key=edb15096bfff75effaaa8c8bb66138bd&from=console","name":"腾讯云秒杀","status":9,"txt":"腾讯云限量秒杀","type":1,"updateTime":1736173885000,"userId":3},{"createTime":1736177492000,"id":3,"img":"aly_251_140.png","link":"https://www.aliyun.com/minisite/goods?userCode=pwp8kmv3","memo":"","name":"阿里云","status":9,"txt":"阿里云2折起","type":1,"updateTime":1736177492000,"userId":3},{"createTime":1735660800000,"id":4,"img":"vultr_560_300.png","link":"https://www.vultr.com/?ref=9603742-8H","name":"Vultr","status":9,"txt":"Vultr送$100","type":1,"updateTime":1735660800000,"userId":3},{"createTime":1735660800000,"id":5,"img":"jdy_663_320.jpg","link":"https://3.cn/2ay1-e5t","name":"京东云","status":9,"txt":"京东云特惠专区","type":1,"updateTime":1735660800000,"userId":3},{"createTime":1735660800000,"id":6,"img":"new_ads.png","link":"https://www.iodraw.com/ads","name":"发布广告","status":9,"txt":"发布广告","type":1,"updateTime":1735660800000,"userId":3},{"createTime":1735660800000,"id":7,"img":"yun_910_50.png","link":"https://activity.huaweicloud.com/discount_area_v5/index.html?fromacct=261f35b6-af54-4511-a2ca-910fa15905d1&utm_source=aXhpYW95YW5nOA===&utm_medium=cps&utm_campaign=201905","name":"底部","status":9,"txt":"高性能云服务器2折起","type":2,"updateTime":1735660800000,"userId":3}]
<>IDEA失去焦点,取消自动编译(已解决)
项目用热部署的方式部署,然后以Debug方式启动(方便我们在项目执行的过程中调试代码)。具体的热部署方式,网上有很多教程,请自行百度。
但是当我们以Debug方式启动项目以后,我们在编写Java代码的时候,一旦失去焦点项目就会报错,从编译的角度来说这是一个便捷的功能,毕竟能及时发现我们项目的错误,但是从用户的体验角度来说,我个人觉得没有那么友好。所以我建议我们取消这个功能
网上很多热部署的教程都是让我们把这两个选项都设置为Update classes and resources
,却没有告诉我们这两个是什么东西,修改的关键也就是在这里。
On Update action:当代码发生改变时,IDEA执行什么操作
*
Update resource:如果有更新,且更新资源为(xx.jsp,xx.xml,不包括Java文件),就会立即生效
*
Update classes and
resources:如果有更新,且更新资源为(资源文件或Java文件),就会立即生效。在正常运行模式下,修改Java文件也不会立即生效;
但是在Debug模式下,就会立即生效。这两种模式下,修改resource资源文件都是可以立即生效的。
*
Redploy:重新部署项目,把原来的war包(我们的项目是以war包的形式放在Tomcat服务器上的)重新部署
*
Restart:重新启动服务器(时间最久,不建议使用)
On Frame deactivation:当失去焦点(不停留在IDEA里面),IDEA执行什么操作
*
Do nothing:不做任何事情(推荐使用)
*
Update resource:如果有更新,且更新资源为(xx.jsp,xx.xml,不包括Java文件),就会立即生效
*
Update classes and
resource:如果有更新,且更新资源为(资源文件或Java文件),就会立即生效。在正常运行模式下,修改Java文件也不会立即生效;
但是在Debug模式下,就会立即生效。这两种模式下,修改resource资源文件都是可以立即生效的。
所以我们只需要把On Frame deactivation,修改为Do nothing即可
设置为Do
nothing之后,我们的项目就会不自动编译(在我们没有进行自动编译的设置基础上)。不过我更建议使用手动编译,毕竟也就是点一下的事情,开启自动编译多少还是会耗费计算机性能。开启自动编译的方式,也请自行百度。
Debug启动项目的情况下,可以点击小甲虫图标用于更新我们想要的资源。
但我发现不同版本的IDEA这个小甲虫图标的点击效果不一样,具体操作根据你的IDEA再看