idea热部署方式具体怎么操作?

2021-06-03 08:59发布

12条回答
用户555666
1楼 · 2021-06-03 14:03.采纳回答

之前用Eclipse的时候,可以下载插件jrebel进行热部署,但是换成idea后,怎么部署都不行,只能用idea自带的热部署了。

idea自带的热部署,只能对方法内进行的更改进行重新加载,如果是新增一个方法,或者在类上增加异常,这些是不会生效的。

下面是配置idea热部署的步骤。这个是在mac电脑上的操作,如果是windows上,可能会有所不同,比如mac上是在[Preferences]中设置,windows是在[settings]中设置:

1、点击[IntelliJ IDEA]-[Preferences]。

2、在弹出框中,点击[Build],在右侧选择[Compiler]。

3、在[Compiler]页面,勾选[Build project automatically]。

4、对自己的springboot项目进行配置。在编译项目的旁边,点击项目名,在弹出的下拉框中,选择[Edit Configurations]。

5、在Edit Configurations弹出框中,找到 Running Application Update Policies,将下面的两个选项都更新为"Update classes and resources",这样就配置完了。

6、设置完成后,在控制台,就可以看到一个刷新按钮,修改完代码后,点击刷新按钮,就会加载修改的代码。如果以上几个步骤都设置完成了,没有出现刷新按钮,可以重启一下idea。

aijingda
2楼 · 2021-06-03 10:43

myeclipse能够实现热部署,只要点击 project——build Automatically 即可

那么idea怎么实现热部署呢,下面我提供一个教程方式,可以作为参考

其实最简单的就是在配置 Edit Configuration 这里,将这里的两个全部都设为【update classes and resource】

最后别忘记点击 【Apply】,否则不生效,不生效!!!

这样基本就可以变成热部署了。


visonx
3楼 · 2021-06-03 11:39

myeclipse能够实现热部署,只要点击 project——build Automatically 即可

那么idea怎么实现热部署呢,下面我提供一个教程方式,可以作为参考

其实最简单的就是在配置 Edit Configuration 这里,将这里的两个全部都设为【update classes and resource】

最后别忘记点击 【Apply】,否则不生效,不生效!!!

这样基本就可以变成热部署了。


啦啦啦
4楼 · 2021-06-03 18:22
  1. IntelliJ IDEA 安装插件“Arthas Hot Swap”,从 gitHub Releases 下载安装包;

  2. 热部署使用的是 class 文件,所以需要先使用“mvn compile”编译相关工程,后续可以使用 IDEA 的 Recompile 编译单个文件,节省编译时间;

  3. 选择需要热部署的 java 源文件或者 class 文件,在类名或方法名上单击右键,选择“Arthas Hot Swap”的“Swap this class”,插件后台执行成功后会把热部署需要的命令复制到粘贴板;

  4. 登录远程服务器,粘贴热部署命令并执行,热部署完成,该机器运行着最新的class。机器第一次执行热部署命令,可能失败,再执行一次试下。

一个Ai
5楼 · 2021-06-04 14:30

第一步:
设置IDEA开启项目自动编译,进入设置找到Build,Execut, Deployment -> Compiler 勾选中左侧的Build Project automatically

第二步:
IDEA开启项目运行时自动make, ctrl + shift + a(windows电脑),command+shift+alt+/(mac系统)搜索命令:registry -> 勾选compiler.automake.allow.when.app.running

点击Registry之后勾选compiler.automake.allow.when.app.running

猫的想法不敢猜
6楼 · 2021-06-06 09:25

一、开启IDEA的自动编译(静态编译)

操作步骤:打开顶部工具栏 File -> Settings -> Default Settings -> Build -> Compiler 然后勾选 Build project automatically 。

二、开启IDEA的自动编译(动态编译)

操作步骤:同时按住 Ctrl + Shift + Alt + / 然后进入Registry ,勾选自动编译并调整延时参数。


compiler.automake.allow.when.app.running -> 自动编译

compile.document.save.trigger.delay -> 自动更新文件

三、开启IDEA的热部署策略

操作步骤:顶部菜单- >Edit Configurations->SpringBoot插件->目标项目->勾选热更新。

四、在项目添加热部署插件

操作步骤:在maven项目中的pom.xml中引入以下依赖

image.png

五、关闭浏览器缓存

操作步骤:以Goole浏览器为例,打开F12的Network选项栏,然后勾选【✅】Disable cache 。

来源于网络,仅供参考

爱学习的小巴
7楼 · 2021-06-07 09:20

第一步:
设置IDEA开启项目自动编译,进入设置找到Build,Execut, Deployment -> Compiler 勾选中左侧的Build Project automatically

第二步:
IDEA开启项目运行时自动make, ctrl + shift + a(windows电脑),command+shift+alt+/(mac系统)搜索命令:registry -> 勾选compiler.automake.allow.when.app.running

点击Registry之后勾选compiler.automake.allow.when.app.running

ZGSYT
8楼 · 2021-06-15 16:38

左上角找到Run -> EditConfiguration ,,右侧server标签下on frame deactivation = Update classes and resource。



希希
9楼 · 2021-08-30 17:02

商业版有这个功能,社区版的功能比较鸡肋,只能reload classes 从上面的图中可以看到,reload class 是在compile之后的,而Intellij没有类似保存java文件就自动compile的功能,需要手动触发下compile, ctrl+shift+f9 就会在左下角看到绿色的提...

相关问题推荐

  • 回答 156

    对于每一位才开始接触JAVA的新手来说,先不要管算法和数据结构,大多数简单的程序不需要用到算法和数据结构,所以当你真正需要时再去学习。编程一段时间以后,你就会知道在哪些地方用到他们。这时知道算法的名字并了解它们的功能,然后动手去实践。当我们在去...

  • 回答 93

    2个都很好就业,更关键的是要学得到东西

  • 回答 12
    已采纳

    获取Map集合中所有的key可以通过map集合的keySet()方法获取例如:    Map map = new HashMap();    map.put(xx,xx); //存放数据    //.... 省略    Set set = map.keySet();    //可以通过迭代器进行测试    Iterator iter = set.iter...

  • 回答 56
    已采纳

    不同年龄,不同掌握程度,学历,找工作城市,面试能力这是一个多方面影响的结果,如果是平均值的话,全国平均薪资14k左右

  • 回答 38

    具体学多久,根据自己的学习力,自律性、解决问题能力来决定若系统性学习,跟着讲师的节奏走,大概半年左右,有专业的讲师把课程进行规划,尽心系统学习,有问题,讲师会帮忙解决,学习的效率很高,避免了自学中出现各种问题解决不了,而耽误很多时间,可能会...

  • 回答 23
    已采纳

    (1)idea启动时会有两个快捷方式,安装完后默认生成在桌面的是32位的idea的快捷方式,如果我们使用这个快捷方式运行大项目,一般都会很卡。解决方法是找到idea的安装目录,然后进入bin文件夹,找到名称为idea64的应用程序,右键他生成桌面快捷方式。以后每次...

  • BIO与NIO、AIO的区别2020-05-19 15:59
    回答 4
    已采纳

    IO的方式通常分为几种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO。一、BIO     在JDK1.4出来之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启动一个ServerSocket,然后在客户端启动Socket来对服务端进行通信,默认情况下服务端需要...

  • Java方法的命名规则2021-04-06 19:07
    回答 31

    ava是一种区分字母的大小写的语言,所以我们在定义变量名的时候应该注意区分大小写的使用和一些规范,接下来我们简单的来讲讲Java语言中包、类、变量等的命名规范。(一)Package(包)的命名Package的名字应该都是由一个小写单词组成,例如com、xuetang9、compan...

  • 回答 2

    public class Point {    private int x;    private int y;    public int getX() {        return x;    }    public void setX(int x) {        this.x = x;    }    public int getY() {        return y;    } ...

  • 回答 6

    经典版单例模式public class Singleton {        private static Singleton uniqueInstance;//利用一个静态常量来记录singleton类的唯一实例。     private Singleton() {     }     public static  Singleton getInstance()...

  • 回答 3

    哈希表的长度一般是定长的,在存储数据之前我们应该知道我们存储的数据规模是多大,应该尽可能地避免频繁地让哈希表扩容。但是如果设计的太大,那么就会浪费空间,因为我们跟不用不到那么大的空间来存储我们当前的数据规模;如果设计的太小,那么就会很容易发...

  • 回答 14

    1. DOM(Document Object Model)        DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准。DOM是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才...

  • 回答 19

    1)作用不同: throw用于程序员自行产生并抛出异常; throws用于声明在该方法内抛出了异常2) 使用的位置不同: throw位于方法体内部,可以作为单独语句使用; throws必须跟在方法参数列表的后面,不能单独使用。3)内容不同: throw抛出一个异常对象,且只能是...

  • 回答 11

    基本执行过程如下:1)程序首先执行可能发生异常的try语句块。2)如果try语句没有出现异常则执行完后跳至finally语句块执行;3)如果try语句出现异常,则中断执行并根据发生的异常类型跳至相应的catch语句块执行处理。4)catch语句块可以有多个,分别捕获不同类型...

  • 回答 20

    100-199 用于指定客户端应相应的某些动作。 200-299 用于表示请求成功。 300-399 用于已经移动的文件并且常被包含在定位头信息中指定新的地址信息。 400-499 用于指出客户端的错误。 400 语义有误,当前请求无法被服务器理解。 401 当前请求需要用户验证...

  • 回答 16

    异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误,只要程序设计得没有问题通常就不会发生。受检异常跟程序运行的上下文环境有关,即使程序设计无误,仍然可能因使用的问题而引发。Java编译...

没有解决我的问题,去提问