IntelliJ 中的调试(重新加载更改的类)

Posted

技术标签:

【中文标题】IntelliJ 中的调试(重新加载更改的类)【英文标题】:Debugging in IntelliJ (Reloading changed classes) 【发布时间】:2015-12-17 23:15:38 【问题描述】:

我最近从 eclipse 切换到 IntelliJ。 Eclipse 的调试启动器用于在保存类时立即重新加载应用程序。 IntelliJ 需要 10 多秒来重新加载更改的类,这可能不是很多,但很烦人,因为我经常使用它。

如何让 IntelliJ 更快地重新加载更改的类?

【问题讨论】:

请提供有关您的项目的更多信息。我的意思是 Web/Desktop,构建系统名称(Maven、Gradle)。例如,在 Web 项目中,您可以将热插拔设置为帧停用挂钩。“运行/调试配置”->“您的配置名称”->“服务器(选项卡)”->“帧停用”将其设置为“热插拔”课”。每次,当窗口从 Idea 切换到其他窗口时(例如浏览器),更改将立即重新加载。 @Taras 我的项目是 Desktop 、 Gradle 、 libGDX 框架 CTRL+SHIFT+A 查找注册表compiler.automake.trigger.delay=500---根据你的要求 【参考方案1】:
    Ctrl+Shift+A 输入rcc(或“重新编译更改的类”) 回车

下次不用输入时,会给出上次运行的动作

【讨论】:

【参考方案2】:

重新加载更改的类

    执行以下操作之一:
在主菜单上,选择运行 |调试操作 |重新加载更改的类。 在主菜单上,选择 Build |编译“class_name”以在调试期间重新编译更改的类。
    在“重新加载更改的类”对话框中,确认重新加载。结果显示在消息工具窗口中。

Refer this link for detailed explanation.

【讨论】:

正如我所说,我正在重新加载更改的类,但这需要很多时间,而 Eclipse 则完全不需要时间(我为同一个项目测试了它)。我想知道的是,在 intellij 中是否还有其他更快的方法可以做。感谢您的努力:) 在新的 IntelliJ Idea 中,您可以在 Run -> Debugging Actions -> Reload Changed Classes 下找到 Reload Changed Classes 我找不到“重新加载更改的类”对话框。被删除了吗?【参考方案3】:

在更改 java 文件并重建后,InteliJ 不会重新编译代码

    Project > Setting>Build,Execution,Deployment>Compiler>勾选“build project automatically”

    Ctrl+Shift+A 找到“注册表”,根据你的要求检查如下:

    compiler.automake.allow.when.app.running
    compiler.automake.trigger.delay=500
    

    pom.xml中添加开发工具:

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <optional>true</optional>
    </dependency>
    

    构建,如果在构建时发现任何问题,说明某些 jar 不在类路径中。只需删除损坏的 jar 并在与 maven libb 同步后重新构建项目

【讨论】:

以上是关于IntelliJ 中的调试(重新加载更改的类)的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot项目在IntelliJ IDEA中实现热部署

IntelliJ IDEA Spring boot实现热部署

在 IntelliJ 中强制重新加载环境变量...而不重新启动?

更改后如何强制 IntelliJ IDEA 从 build.sbt 重新加载依赖项?

每次重新加载 pom 时停止 IntelliJ IDEA 切换 java 语言级别(或更改默认项目语言级别)

Spring Boot devtools - 静态内容重新加载在 IntelliJ 中不起作用