Java IntelliJ IDEA社区版和使用Spring开发工具的Spring慢速重载

Java IntelliJ IDEA社区版和使用Spring开发工具的Spring慢速重载,java,spring,intellij-idea,jetbrains-ide,Java,Spring,Intellij Idea,Jetbrains Ide,我知道IDEA CE没有对Spring的支持,但我仍然可以通过对自动完成的支持进行开发,这对我来说已经足够了 我遇到的问题是,IDE需要5到7秒才能用我在按下Ctrl+S键后所做的更改重新加载服务器。因此,我搜索了更多可以修改的选项,并尝试了以下方法: 但这并不能解决问题 虽然我知道我可以使用VSCode,因为Java支持非常好,而且Spring的重新加载速度非常快,但是对于Kotlin支持来说,没有足够好的扩展。因此,如果可能的话,我想找到一个修复方法来减少服务器重启的延迟。这样做似乎是为了

我知道IDEA CE没有对Spring的支持,但我仍然可以通过对自动完成的支持进行开发,这对我来说已经足够了

我遇到的问题是,IDE需要5到7秒才能用我在按下Ctrl+S键后所做的更改重新加载服务器。因此,我搜索了更多可以修改的选项,并尝试了以下方法:

但这并不能解决问题


虽然我知道我可以使用VSCode,因为Java支持非常好,而且Spring的重新加载速度非常快,但是对于Kotlin支持来说,没有足够好的扩展。因此,如果可能的话,我想找到一个修复方法来减少服务器重启的延迟。这样做似乎是为了强迫您购买专业版。

您不需要在调试模式下使用IntelliJ IDEA社区或Ultimate to hotswap类的自动编译或开发工具。如果要在Ctrl+S上编译,请将此快捷方式指定给
Build
|
Build Project
操作(设置(macOS上的首选项)|键映射|主菜单| Build | Build Project,右键单击,)

IDE将热交换已更改的类,并且这些更改将在不到一秒钟的时间内在浏览器中可用:

示例项目:

步骤:

  • 单击调试按钮启动应用程序
  • 打开http://localhost:8080/ 在web浏览器中
  • 遵守来自弹簧靴的
    问候语输出
  • HelloController.java
    中的字符串更改为其他字符串
  • Build | Build Project(或Ctrl+S,如果您将其分配给此操作)
  • 在浏览器中重新加载页面,在不到一秒钟的时间内观察更改,IDE将显示关于重新加载类的通知

  • 如果要依赖开发工具,还可以取消注释
    pom.xml
    中的
    spring boot开发工具
    依赖项,它将在更改时触发服务器重新启动。速度稍微慢一点,但肯定不是您描述的5-7秒。

    我们在项目中使用了两个注释处理器: annotationProcessor“org.springframework.boot:springboot配置处理器” 和 注释处理器“org.projectlombok:lombok”

    龙目山很好用。但若SpringBoot配置处理器处于活动状态——热插拔总是重新加载所有类,那个么在我的项目中需要花费超过分钟的时间,完全重启应用程序的速度要快得多


    当我需要热插拔时,我会在启动前对处理器进行注释。

    这些信息不足以理解问题。你是说磁盘上的.class文件在7秒后更新,还是说Spring应用程序在7秒后重新加载,而更改的类显示的速度比这快?有了精确的复制步骤就好了。在IntelliJ IDEA社区中,肯定没有任何东西会专门放慢速度,迫使您购买终极版。它在Apache2.0许可下是开源的,您可以尝试查找执行它的代码(您不会这样做)。要复制,请创建一个新项目并使用IDEA。如果没有IDE,为什么在同一个项目的VSCode上运行得更快更好呢/这可能取决于项目的配置方式以及pom.xml中的依赖项,因此请提供指向GitHub项目的链接,该链接将重现问题。您可以从Initializer创建一个新项目。除此之外,我没有别的东西。它甚至没有任何东西,除了网络依赖性…呸。我将使用Eclipse,因为它至少看起来对Kotlin也有很好的支持,并且在保存时不会有任何延迟。这都是我的主意,谢谢。我也已经知道要建造它了。对不起,我忘了提这件事,但我确实有个问题要问。在更大的项目中这样做不是很昂贵吗?IntelliJ IDEA构建操作是快速且完全增量的。此外,它与自动编译对您的作用没有什么不同。