V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
steptodream
V2EX  ›  Java

idea 热加载怎么设置,麻烦知道的告诉一下新手

  •  
  •   steptodream · 2021-08-07 17:31:17 +08:00 · 3028 次点击
    这是一个创建于 983 天前的主题,其中的信息可能已经有所发展或是发生改变。
    从 vscode 转 idea,我网上搜了,说要修改 Registry 里的 compiler.automake.allow.when.app.running,可是我设置里 compiler 开头的根本没有这一项,我的 idea 版本是 2021.2 ultimate edition
    23 条回复    2021-08-16 11:26:25 +08:00
    xiao109
        1
    xiao109  
       2021-08-07 17:42:48 +08:00
    装个 Jrebel
    kba977
        2
    kba977  
       2021-08-07 22:06:56 +08:00
    `compiler.automake.allow.when.app.running` 这个设置不在 compiler 里, 试试按默认的 `Shift + Option + Command + /` 试试
    jorneyr
        3
    jorneyr  
       2021-08-07 22:16:32 +08:00
    这个只是类修改了自动编译,不是热加载。要使用热启动使用 spring boot devtools,要使用热加载使用 JRebel 。
    steptodream
        4
    steptodream  
    OP
       2021-08-08 08:42:49 +08:00
    @kba977 你看错我说的了 我说的就是你说的命令 用 CTRL + SHIFT + A 打开了一个小窗口 然后搜索 Registry 然后再找 compiler.automake.allow.when.app.running 可是这里的一栏里以 compiler 开头的根本就没有 compiler.automake.allow.when.app.running 这一项

    @jorneyr 那自动编译咋弄了 我这根本没有网上说的那一项 根本没法修改
    steptodream
        5
    steptodream  
    OP
       2021-08-08 08:44:29 +08:00
    kba977
        6
    kba977  
       2021-08-08 08:48:56 +08:00
    steptodream
        7
    steptodream  
    OP
       2021-08-08 08:51:20 +08:00
    @kba977 我打开的就是你这里的配置 根本没有那一项 估计是版本不同 你看我上一楼发的图片地址 就是这个地方的截图 把汉字点改成. 访问
    kba977
        8
    kba977  
       2021-08-08 08:52:25 +08:00
    @steptodream #7 你的图挂了,稍等我升级到最新版,然后看下
    jackytang520
        9
    jackytang520  
       2021-08-08 08:53:36 +08:00
    最新版本好像没有这一项设置了
    steptodream
        10
    steptodream  
    OP
       2021-08-08 09:00:24 +08:00
    @jackytang520 那你知道咋设置能实现这个功能吗 我在 vscode 下一保存就自动生效 测试的时候很方便
    kba977
        11
    kba977  
       2021-08-08 09:07:58 +08:00
    @kba977 #8 升级到最新版本了, 确实没有那一项了
    1. 添加一下 spring-boot-devtools 依赖
    2. 在设置 Build, Execution, Deployment 中 Compiler 里 设置 勾上 Build project automatically

    3. 修改一下项目配置


    之后就可以了
    steptodream
        12
    steptodream  
    OP
       2021-08-08 09:25:50 +08:00
    @kba977 好的 谢谢了 我试试
    jin7
        13
    jin7  
       2021-08-08 10:57:10 +08:00
    用 jrebel 好了
    binbinbbb
        14
    binbinbbb  
       2021-08-08 18:59:19 +08:00
    新版找不到 了 compiler.automake.allow.when.app.running
    cslive
        15
    cslive  
       2021-08-09 16:45:34 +08:00
    点那个锤子一样的按钮,或者 ctrl+F9
    ClutchBear
        16
    ClutchBear  
       2021-08-11 22:31:59 +08:00
    什么都不用改啊,
    创建 springboot 项目的时候, 勾选 springboot dev tool 就行
    steptodream
        17
    steptodream  
    OP
       2021-08-12 08:26:14 +08:00
    @ClutchBear 我勾选了 spring-boot-devtools 的 pom.xml 里也有 但是在运行中修改代码保存后不会自动编译 按 kba977 的#11 楼说的设置了就可以了
    ClutchBear
        18
    ClutchBear  
       2021-08-12 09:51:58 +08:00
    @steptodream 肯定要手动点右上角的编译的绿色锤子图表啊.
    项目大了后, 每次修改代码保存就自动编译是不合理的, 很耗时间
    steptodream
        19
    steptodream  
    OP
       2021-08-12 09:54:29 +08:00
    @ClutchBear 要不要自动编译这不是个人的需求吗 哪有所有开发者都是一种需求的 需要自动编译的时候就自动编译 不需要的时候改设置不就行了
    hcen1997
        20
    hcen1997  
       2021-08-12 13:16:51 +08:00
    目前我自己开发的感觉(3 年外包)
    热加载不是很好用, 因为项目都奇奇怪怪的
    idea 自带的 debug 启动方式和热加载方法内代码就挺好的,
    其他需要热加载的地方, 就好好提升自己的编码设计水平吧

    -- idea 自带热加载, 可以重新加载方法内的代码
    Hot Swap Classes
    steptodream
        21
    steptodream  
    OP
       2021-08-12 14:27:17 +08:00
    @hcen1997 就说个热加载功能 你都能扯到编码水平了 正所谓 满管子不响半罐子咣当
    lap510200
        22
    lap510200  
       2021-08-13 09:32:30 +08:00
    @hcen1997 楼主问的不就是 idea 在 debug 模式如何热加载服务吗,你认为的所谓的编码水平指的是什么,是你对 java 框架的熟练度吗?
    hcen1997
        23
    hcen1997  
       2021-08-16 11:26:25 +08:00
    @lap510200 @steptodream
    idea 的 debug 模式 可以很简单的热加载方法中的代码, 你们同意吧?

    那么在设计程序的时候, 把自己不确定的部分, 放在可以热加载的函数中, 边调试边写.
    好像自己就变成了一个机智的函数体.

    至于更加复杂的热加载技术, 我承认我自己不会使用, 对不起, 见笑了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   971 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 21:56 · PVG 05:56 · LAX 14:56 · JFK 17:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.